CN102892189A - 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法 - Google Patents

一种基于能耗均衡的无线传感器网络的数据融合树的建树方法 Download PDF

Info

Publication number
CN102892189A
CN102892189A CN2012103706718A CN201210370671A CN102892189A CN 102892189 A CN102892189 A CN 102892189A CN 2012103706718 A CN2012103706718 A CN 2012103706718A CN 201210370671 A CN201210370671 A CN 201210370671A CN 102892189 A CN102892189 A CN 102892189A
Authority
CN
China
Prior art keywords
node
assignment
tra
tree
sink
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.)
Granted
Application number
CN2012103706718A
Other languages
English (en)
Other versions
CN102892189B (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.)
RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Original Assignee
RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
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 RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN filed Critical RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Priority to CN201210370671.8A priority Critical patent/CN102892189B/zh
Publication of CN102892189A publication Critical patent/CN102892189A/zh
Application granted granted Critical
Publication of CN102892189B publication Critical patent/CN102892189B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • Y02B60/50

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于能耗均衡的无线传感器网络的数据融合树的建树方法,采用了基本建树步骤(1)、基于树的网络信息采集步骤(2)和树的剪枝与嫁接步骤(3)。本发明的数据融合树建树方法考虑大多数节点的能量水平又兼顾能量偏离平均水平值的节点提出了能量均衡策略EBS。对初始树进行剪枝或者嫁接,实现了网络节点能耗均衡,保证通信开销与能量水平相当。

Description

一种基于能耗均衡的无线传感器网络的数据融合树的建树方法
技术领域
本发明涉及一种无线传感器网络的建树方法,更特别地说,是指一种适用于无线传感器网络的基于能耗均衡的融合树建树方法。
背景技术
无线传感器网络的核心任务是数据收集,可靠的数据收集包括数据融合、数据传输等技术。数据融合与采用的路由协议密切相关,数据融合通常分为两类:一类是基于树结构的,另一类是基于多路径的。目前多采用树形结构,树形结构首先在网络中构建一棵生成树,该树的数据查询节点(sink)为根节点,然后从叶节点(Leaf)开始沿树向根节点(sink)自下而上地进行数据融合以及逐层传递:每个节点将采集到的传感器读数发送给父节点(Father),其父节点将接收到的该传感器读数进行融合,然后再将融合后的传感器读数结果(简称为融合传感器读数)发送给它的父节点,如此重复直到融合传感器读数到达数据查询节点(sink),无线传感器网络中任意一节点的死亡都会造成该任意一节点的下游节点的信息无法发送到数据查询节点(sink),造成监测盲区。
延长无线传感器网络的生存时间,不仅仅要使网络的整体能耗达到最小化,同时还应该使网络中各个节点的能耗达到均衡。对于给定拓扑结构的无线传感器网络而言,节点的能量通常是以一定的比例消耗的,也就是说能耗快的节点将成为整个系统的“瓶颈节点”,因此使网络中节点的能耗速度均衡、消除“瓶颈节点”对延长无线传感器网络的生存时间至关重要。
考虑到在树结构中孩子节点(Children)通信量将在父节点(Father)上造成的累积,《A node-centric load balancing algorithm for wireless sensor networks》中提出负载均衡树的概念把负载均衡树分三类:fully balanced(完全平衡)、top-level balanced(顶层平衡)和hierarchy balanced(分层平衡),提出了建立top-level balanced的负载均衡树的方法,即对靠近根节点sink的节点来说负载均衡的树,但是这种方法并没有考虑网络中其他中间节点的能耗均衡,这些节点能耗不均造成早死依然会使网络断链,造成监测盲区。
在基于树的无线传感器网络中,沿生成树进行每一轮数据采集时,各个节点的能耗是不同的。《Distributed hierarchical serach for balanced energy consumptionrouting spanning trees in wireless sensor networks》提出的动态均衡的生成树就是要在一轮数据收集过程中找到在所有节点中能耗最大的那个节点,并使这个节点的能耗最小化,该方法对经典的Kruskal最小生成树进行了修改。该方法需要输入表示网络的邻接矩阵,而邻接矩阵的边权重只考虑了节点发送的能耗。
基于工作流的查询树构建算法(WQRT),该方法构建一棵近似的k叉树,使节点间的工作流得到均衡。《Workload-based Query Routing Tree Algorithm in WirelessSensor Networks》中的图1所示,使节点的孩子个数分布均匀。
无线传感器网络中的中间节点在数据收集过程中有重要的作用,任何位置的中间节点出现能量耗尽,都会导致网络断链,影响数据收集的结果。根据多跳路由的流量特点,孩子多的节点需转发的数据包多;反之越少,特别是叶节点,由于无孩子节点,只需发送自身的感知数据。基于这种思想,让能量多的节点拥有较多的孩子节点,能量少的节点拥有较少的孩子节点,构建融合树既要考虑节点的孩子个数分布均匀又要兼顾节点能量,从而实现数据收集过程的节点能量均衡,最终提高无线传感器网络的生存时间。
发明内容
有鉴于此,本发明设计了一种用于无线传感器网络数据收集的能耗均衡的数据融合树建树方法。根据基于树结构的无线传感器网络数据融合过程节点通信的特点、以及网络中节点能量水平的特点,因此考虑大多数节点的能量水平可以建k叉树,让每个中间节点与相同个数的孩子节点通信,这样的中间节点每一轮数据收集过程能耗也就接近;此外为了兼顾能量偏离平均水平值的节点,就要考虑他们实际的能量以及能量的平均水平,使这样的节点有多于以及少于k个孩子节点,以此来保证通信开销与能量水平相当。
本发明是一种基于能耗均衡的无线传感器网络的数据融合树的建树方法,所述数据融合树的建树采用了基本建树步骤(1)、基于树的网络信息采集步骤(2)和树的剪枝与嫁接步骤(3);
所述基本建树步骤(1)用于建立无线传感器网络中各节点之间的连接,从而实现网络联通,即构建得到初始树T_in,所述初始树T_in中的各个节点预设有初始能量;
所述基于树的网络信息采集步骤(2)第一方面依据所述的初始树T_in并从初始树T_in中提取出节点总数n、树的高度d、初始树T_in中节点平均能量Eavg从而得到初始树T_in中的网络信息net_Info={n,d,Eavg};所述网络信息net_Info={n,d,Eavg}将作为构建能耗均衡的融合树的基础数据。第二方面依据k叉树方法获得所述网络信息net_Info={n,d,Eavg}中的网络树度数
Figure BDA00002211014900021
所述树的剪枝与嫁接步骤(3)采用能耗均衡策略EBS对所述的初始树T_in中的所有节点进行剪枝或者嫁接。
所述的能耗均衡策略EBS第一方面对初始树T_in中的任意一节点Nm依据能量均衡最佳度分配关系
Figure BDA00002211014900022
得到任意一节点Nm的最佳度数
Figure BDA00002211014900023
(简称为节点度数
Figure BDA00002211014900024
);
Figure BDA00002211014900025
表示节点Nm的初始能量;第二方面依据节点度数
Figure BDA00002211014900026
与孩子个数的比较,进行剪枝或者嫁接处理;若
Figure BDA00002211014900028
则进行嫁接;若
Figure BDA00002211014900029
则进行剪枝;若
Figure BDA000022110149000210
任意一节点Nm不进行剪枝与嫁接处理。
本发明的一种基于能耗均衡无线传感器网络数据融合树的建立方法,该融合树的建立方法的优点在于:
(1)本发明充分考虑了无线传感器网络中节点能量的分布情况,以及基于树结构的无线传感器网络数据融合过程的通信特点。
(2)本发明采用剪枝和嫁接的操作来对建立的融合树根据能量进行孩子节点个数调整,实现无线传感器网络中能量消耗与能量分布成正比关系。
(3)本发明建立的融合树使能量多的节点拥有较多的孩子,而能量少的节点拥有较少的孩子,从而避免了能量消耗的不均造成的某些节点过早死亡,以此来提高无线传感器网络的数据融合的服务质量和延长网络的生存时间。
附图说明
图1是本发明数据融合树的建树结构框图。
图2是本发明建树得到的初始树的结构图。
图3是经剪枝和嫁接后的本发明数据融合树的结构图。
图4是本发明由根节点发起的建树流程图。
图5是本发明节点对自身身份的确认流程图。
图6是本发明查询信息获取、剪枝与嫁接处理的流程图。
具体实施方式
参见图1所示,本发明的一种基于能耗均衡的无线传感器网络的数据融合树的建树方法,是建立一种基于k叉的能耗均衡融合树,该数据融合树的建树方法包括有基本建树步骤1、基于树的网络信息采集步骤2和树的剪枝与嫁接步骤3。在本发明中,所述网络中节点能量水平的特点是指网络中节点能量值集中在某一个平均水平,但同时也存在少量节点偏离平均水平,体现为能量远远高于以及远远低于平均水平。在本发明中,所述基于树结构的无线传感器网络数据融合过程节点通信的特点是指数据经父亲(Father)节点融合后逐层向根(sink)节点转发,中间节点要和其所有孩子(Children)节点通信。
在本发明中,无线传感器网络所依赖的树结构中除根节点sink以外的节点标记为N,则有第一个节点记为N1、第二个节点记为N2、……、第i个节点记为Ni、……、最后一个节点记为Nm,为了方便说明,Nm也称为树结构中的任意一节点,Ni也称为树结构中的除任意一节点Nm外的其他节点。无线传感器网络中包括有n个节点(也称为节点总数),则n个节点中含有一个根节点sink、多个叶节点Leaf和多个中间节点。
所述基本建树步骤1用于建立无线传感器网络中各节点之间的连接,从而实现网络联通,即构建得到初始树T_in,所述初始树T_in中的各个节点预设有初始能量,初始树T_in的树结构如图2所示。
所述基于树的网络信息采集步骤2第一方面依据所述的初始树T_in并从初始树T_in中提取出节点总数n、树的高度d、初始树T_in中节点平均能量Eavg从而得到初始树T_in中的网络信息net_Info={n,d,Eavg};所述网络信息net_Info={n,d,Eavg}将作为构建能耗均衡的融合树的基础数据。第二方面依据k叉树方法获得所述网络信息net_Info={n,d,Eavg}中树的度
Figure BDA00002211014900031
简称为网络树度数
Figure BDA00002211014900032
所述树的剪枝与嫁接步骤3采用能耗均衡策略EBS对所述的初始树T_in中的所有节点进行剪枝或者嫁接。
所述的能耗均衡策略EBS第一方面对初始树T_in中的任意一节点Nm依据能量均衡最佳度分配关系
Figure BDA00002211014900033
得到任意一节点Nm的最佳度数
Figure BDA00002211014900034
(简称为节点度数
Figure BDA00002211014900035
);
Figure BDA00002211014900036
表示节点Nm的初始能量;第二方面依据节点度数
Figure BDA00002211014900037
与孩子个数
Figure BDA00002211014900038
的比较,进行剪枝或者嫁接处理;若
Figure BDA00002211014900039
则进行嫁接;若
Figure BDA000022110149000310
则进行剪枝;若
Figure BDA000022110149000311
任意一节点Nm不进行剪枝与嫁接处理。
在本发明中,任意一节点Nm的孩子个数记为
Figure BDA000022110149000312
(简称为孩子个数
Figure BDA000022110149000313
)。
(一)建立初始树T_in步骤1
参见图4、图5所示,在本发明中,树结构的构建中包括有建树消息msg_BuildID、转发建树消息tra_BuildID和通信信息CMID;ID表示树结构中节点的标识;
建树消息msg_BuildID中包括有广播消息者的身份SenderID,广播消息者在树结构中的层数levelID,广播消息者的父亲节点的标识FatherID;采用集合形式表达为msg_BuildID={SenderID,levelID,FatherID}。
转发建树消息tra_BuildID中包括有转发消息者的身份traID,转发消息者在树结构中的层数tra_levelID,转发消息者的父亲节点的标识tra_FatherID;采用集合形式表达为tra_BuildID={traID,tra_levelID,tra_FatherID}。
根节点sink广播建树消息msg_BuildID,网络中的非sink节点收到建树消息msg_BuildID,将msg_BuildID更新并转发成为转发建树消息tra_BuildID
通信信息CMID中包括有节点在树结构中的层数depthID、节点的孩子个数num_ChildrenID、节点的孩子队列list_ChildrenID,节点的父节点的标识parentID;采用集合表达形式为CMID={depthID,num_ChildrenID,list_ChildrenID,parentID}。
在本发明中,levelID、tra_levelID和depthID的层数赋值是相同的。FatherID、tra_FatherID和parentID的父亲节点是同一节点。
在本发明中,初始树T_in的建立包括有下列步骤:
步骤10l:根节点sink广播建树消息msg_Buildsink
所述建树消息msg_Buildsink={Sendersink,levelsink,Fathersink}中Sendersink表示广播消息者是根节点sink,levelsink表示广播消息者在树结构中的层数,Fathersink表示广播消息者的父亲节点的标识。
msg_Buildsink的字段赋值:levelsink赋值为0;Fathersink赋值为空。
步骤102:更新节点的建树消息
步骤102-1:任意一节点Nm第一次侦听到根节点sink广播的建树消息msg_Buildsink后,Nm将更新自身的建树消息,得到Nm的转发建树消息
Figure BDA00002211014900041
一方面将
Figure BDA00002211014900042
进行广播,另一方面将
Figure BDA00002211014900043
和Fathersink置入Nm的通信信息
Figure BDA00002211014900044
中;转入步骤103;
tra _ Build N m = { tra N m , tra _ level N m , tra _ Father N m }
Figure BDA00002211014900046
表示转发建树消息的节点Nm
Figure BDA00002211014900047
表示转发消息者(节点Nm)在树结构中的层数,
Figure BDA00002211014900048
表示转发消息者(节点Nm)的父亲节点的标识。
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m }
Figure BDA000022110149000410
表示节点Nm在树结构中的层数、
Figure BDA000022110149000411
表示节点Nm的孩子个数、
Figure BDA000022110149000412
表示节点Nm的孩子队列,
Figure BDA000022110149000413
表示节点Nm的父节点的标识。
Figure BDA000022110149000414
的字段赋值:
Figure BDA000022110149000415
赋值为levelsink+1(即树结构中的第一层);
Figure BDA000022110149000416
赋值为根节点sink。
Figure BDA00002211014900051
的字段赋值:
Figure BDA00002211014900052
赋值为
Figure BDA00002211014900053
Figure BDA00002211014900054
赋值为0,
Figure BDA00002211014900055
赋值为空,赋值为根节点sink。
步骤102-2:任意一节点Nm第一次侦听到其他节点Ni发出的转发建树消息
Figure BDA00002211014900057
后,Nm将更新自身的建树消息,得到Nm的转发建树消息
Figure BDA00002211014900058
一方面将
Figure BDA00002211014900059
进行广播;另一方面将
Figure BDA000022110149000510
Figure BDA000022110149000511
置入Nm的通信信息
Figure BDA000022110149000512
中;转入步骤103;
tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } 表示转发建树消息的节点Ni
Figure BDA000022110149000515
表示转发消息者(节点Ni)在树结构中的层数,表示转发消息者(节点Ni)的父亲节点的标识。
Figure BDA000022110149000517
的字段赋值:
Figure BDA000022110149000518
赋值为
Figure BDA000022110149000519
(即树结构中的第
Figure BDA000022110149000520
层);
Figure BDA000022110149000521
赋值为节点
Figure BDA000022110149000522
(即节点Ni)。
Figure BDA000022110149000523
的字段赋值:
Figure BDA000022110149000524
赋值为
Figure BDA000022110149000525
Figure BDA000022110149000526
赋值为0,
Figure BDA000022110149000527
赋值为空,
Figure BDA000022110149000528
赋值为节点
Figure BDA000022110149000529
(即节点Ni)。
在本发明中,任意一节点Nm将转发建树消息
Figure BDA000022110149000530
进行广播,实现了向树结构中的其他节点发出建树消息的请求。
步骤103:孩子节点的确定
任意一节点Nm在第二次侦听到其他节点Ni发出的转发建树消息
Figure BDA000022110149000531
后,进行父子关系的判断,得到Nm的孩子节点;
父子关系判断条件: tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } 中的
Figure BDA000022110149000533
是否是节点Nm,若是,则更新 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 中的
Figure BDA000022110149000535
Figure BDA000022110149000536
更新
Figure BDA000022110149000537
时赋值记录为
Figure BDA000022110149000538
更新
Figure BDA000022110149000539
时将 tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } 中的
Figure BDA000022110149000541
加入到
Figure BDA000022110149000542
中。
在本发明中,对于任意一节点Nm在确定了父亲节点和孩子节点后,在树结构中则该Nm为节点。
在本发明中,对于任意一节点Nm在只确定了父亲节点,而没有孩子节点时,在树结构中则该Nm为叶节点。
除根节点sink以外的其他节点重复步骤102-1、步骤102-2和步骤103,并确定出自身的父节点Father、和/或孩子节点,从而构建得到初始树T_in。如图2所示,图中节点Nm、节点L1和节点L15能够接收到根节点sink广播的建树消息msg_Buildsink={Sendersink,levelsink,Fathersink},此时,节点Nm、节点L1和节点L15将各自更新转发建树消息;
节点L1转发建树消息格式为:
tra _ Build L 1 = { tra L 1 , tra _ level L 1 , tra _ Father L 1 } ;
Figure BDA00002211014900062
的字段赋值:
Figure BDA00002211014900063
赋值为levelsink+1(即树结构中的第一层);赋值为根节点sink。
节点L15转发建树消息格式为:
tra _ Build L 15 = { tra L 15 , tra _ level L 15 , tra _ Father L 15 } ;
Figure BDA00002211014900066
的字段赋值:赋值为levelsink+1(即树结构中的第一层);
Figure BDA00002211014900068
赋值为根节点sink。
节点Nm转发建树消息格式为:
tra _ Build N m = { tra N m , tra _ level N m , tra _ Father N m } ;
Figure BDA000022110149000610
的字段赋值:
Figure BDA000022110149000611
赋值为levelsink+1(即树结构中的第一层);
Figure BDA000022110149000612
赋值为根节点sink。
节点L1一方面将
Figure BDA000022110149000613
进行广播,另一方面将
Figure BDA000022110149000614
和Fathersink置入L1的通信信息
Figure BDA000022110149000615
中;通信信息
Figure BDA000022110149000616
的格式为:
CM L 1 = { depth L 1 , num _ C hildren L 1 , list _ Childre n L 1 , parent L 1 } ;
Figure BDA000022110149000618
的字段赋值:赋值为
Figure BDA000022110149000620
Figure BDA000022110149000621
赋值为0,
Figure BDA000022110149000622
赋值为空,
Figure BDA000022110149000623
赋值为根节点sink。
节点L15一方面将进行广播,另一方面将
Figure BDA000022110149000625
和Fathersink置入L15的通信信息
Figure BDA000022110149000626
中;通信信息
Figure BDA000022110149000627
的格式为:
CM L 15 = { depth L 15 , num _ C hildren L 15 , list _ Childre n L 15 , parent L 15 } ;
的字段赋值:
Figure BDA000022110149000630
赋值为
Figure BDA000022110149000631
Figure BDA000022110149000632
赋值为0,
Figure BDA000022110149000633
赋值为空,
Figure BDA000022110149000634
赋值为根节点sink。
节点Nm一方面将
Figure BDA000022110149000635
进行广播,另一方面将
Figure BDA000022110149000636
和Fathersink置入Nm的通信信息
Figure BDA000022110149000637
中;通信信息
Figure BDA000022110149000638
的格式为:
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
Figure BDA000022110149000640
的字段赋值:
Figure BDA000022110149000641
赋值为 赋值为0,
Figure BDA000022110149000644
赋值为空,
Figure BDA000022110149000645
赋值为根节点sink。
节点Nm、节点L1和节点L15有公共的父亲节点,即根节点sink,根节点sink的孩子节点即为节点Nm、节点L1和节点L15
节点L2、节点L3、节点L4、节点L10、节点N1和节点Ni第一次侦听到Nm发出的转发建树消息 tra _ Build N m = { tra N m , tra _ level N m , tra _ Father N m } , 此时,节点L2、节点L3、节点L4、节点L10、节点N1和节点Ni将各自更新转发建树消息;
节点L2转发建树消息格式为:
tra _ Build L 2 = { tra L 2 , tra _ level L 2 , tra _ Father L 2 } ;
Figure BDA00002211014900072
的字段赋值:
Figure BDA00002211014900073
赋值为
Figure BDA00002211014900074
(即树结构中的第
Figure BDA00002211014900075
层);
Figure BDA00002211014900076
赋值为
Figure BDA00002211014900077
(即节点Nm)。
节点L3转发建树消息格式为:
tra _ Build L 3 = { tra L 3 , tra _ level L 3 , tra _ Father L 3 } ;
Figure BDA00002211014900079
的字段赋值:
Figure BDA000022110149000710
赋值为
Figure BDA000022110149000711
(即树结构中的第层);赋值为(即节点Nm)。
节点L4转发建树消息格式为:
tra _ Build L 4 = { tra L 4 , tra _ level L 4 , tra _ Father L 4 } ;
Figure BDA000022110149000716
的字段赋值:
Figure BDA000022110149000717
赋值为
Figure BDA000022110149000718
(即树结构中的第
Figure BDA000022110149000719
层);
Figure BDA000022110149000720
赋值为
Figure BDA000022110149000721
(即节点Nm)。
节点L10转发建树消息格式为:
tra _ Build L 10 = { tra L 10 , tra _ level L 10 , tra _ Father L 10 } ;
的字段赋值:赋值为
Figure BDA000022110149000725
(即树结构中的第
Figure BDA000022110149000726
层);
Figure BDA000022110149000727
赋值为
Figure BDA000022110149000728
(即节点Nm)。
节点N1转发建树消息格式为:
tra _ Build N 1 = { tra N 1 , tra _ level N 1 , tra _ Father N 1 } ;
Figure BDA000022110149000730
的字段赋值:
Figure BDA000022110149000731
赋值为
Figure BDA000022110149000732
(即树结构中的第
Figure BDA000022110149000733
层);
Figure BDA000022110149000734
赋值为
Figure BDA000022110149000735
(即节点Nm)。
节点Ni转发建树消息格式为:
tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } ;
Figure BDA000022110149000737
的字段赋值:赋值为
Figure BDA000022110149000739
(即树结构中的第
Figure BDA000022110149000740
层);
Figure BDA000022110149000741
赋值为
Figure BDA000022110149000742
(即节点Nm)。
节点L2一方面将
Figure BDA000022110149000743
进行广播,另一方面将
Figure BDA000022110149000744
Figure BDA000022110149000745
置入L2的通信信息
Figure BDA000022110149000746
中;通信信息的格式为:
CM L 2 = { depth L 2 , num _ C hildren L 2 , list _ Childre n L 2 , parent L 2 } ;
Figure BDA000022110149000749
的字段赋值:
Figure BDA000022110149000750
赋值为
Figure BDA000022110149000751
Figure BDA000022110149000752
赋值为0,
Figure BDA000022110149000753
赋值为空,
Figure BDA000022110149000754
赋值为
Figure BDA000022110149000755
(即节点Nm)。
节点L3一方面将
Figure BDA000022110149000756
进行广播,另一方面将
Figure BDA000022110149000757
Figure BDA000022110149000758
置入L3的通信信息
Figure BDA000022110149000759
中;通信信息
Figure BDA000022110149000760
的格式为:
CM L 3 = { depth L 3 , num _ C hildren L 3 , list _ Childre n L 3 , parent L 3 } ;
Figure BDA000022110149000762
的字段赋值:赋值为
Figure BDA000022110149000764
Figure BDA000022110149000765
赋值为0,
Figure BDA00002211014900081
赋值为空,
Figure BDA00002211014900082
赋值为
Figure BDA00002211014900083
(即节点Nm)。
节点L4一方面将
Figure BDA00002211014900084
进行广播,另一方面将
Figure BDA00002211014900085
Figure BDA00002211014900086
置入L4的通信信息
Figure BDA00002211014900087
中;通信信息的格式为:
CM L 4 = { depth L 4 , num _ C hildren L 4 , list _ Childre n L 4 , parent L 4 } ;
Figure BDA000022110149000810
的字段赋值:
Figure BDA000022110149000811
赋值为tra
Figure BDA000022110149000812
Figure BDA000022110149000813
赋值为0,
Figure BDA000022110149000814
赋值为空,
Figure BDA000022110149000815
赋值为
Figure BDA000022110149000816
(即节点Nm)。
节点L10一方面将
Figure BDA000022110149000817
进行广播,另一方面将
Figure BDA000022110149000818
Figure BDA000022110149000819
置入L10的通信信息
Figure BDA000022110149000820
中;通信信息
Figure BDA000022110149000821
的格式为:
CM L 10 = { depth L 10 , num _ C hildren L 10 , list _ Childre n L 10 , parent L 10 } ;
的字段赋值:
Figure BDA000022110149000824
赋值为
Figure BDA000022110149000825
Figure BDA000022110149000826
赋值为0,赋值为空,
Figure BDA000022110149000828
赋值为
Figure BDA000022110149000829
(即节点Nm)。
节点Ni一方面将
Figure BDA000022110149000830
进行广播,另一方面将
Figure BDA000022110149000831
置入Ni的通信信息
Figure BDA000022110149000833
中;通信信息
Figure BDA000022110149000834
的格式为:
CM N i = { depth N i , num _ C hildren N i , list _ Childre n N i , parent N i } ;
Figure BDA000022110149000836
的字段赋值:
Figure BDA000022110149000837
赋值为
Figure BDA000022110149000838
Figure BDA000022110149000839
赋值为0,
Figure BDA000022110149000840
赋值为空,
Figure BDA000022110149000841
赋值为
Figure BDA000022110149000842
(即节点Nm)。
节点N1一方面将
Figure BDA000022110149000843
进行广播,另一方面将
Figure BDA000022110149000844
Figure BDA000022110149000845
置入N1的通信信息
Figure BDA000022110149000846
中;通信信息的格式为:
CM N 1 = { depth N 1 , num _ C hildren N 1 , list _ Childre n N 1 , parent N 1 } ;
Figure BDA000022110149000849
的字段赋值:
Figure BDA000022110149000850
赋值为
Figure BDA000022110149000851
Figure BDA000022110149000852
赋值为0,
Figure BDA000022110149000853
赋值为空,
Figure BDA000022110149000854
赋值为
Figure BDA000022110149000855
(即节点Nm)。
节点L2、节点L3、节点L4、节点L10、节点N1和节点Ni有公共的父亲节点Nm
节点Nm侦听到节点L2的转发建树消息 tra _ Build L 2 = { tra L 2 , tra _ level L 2 , tra _ Father L 2 } , 并且
Figure BDA000022110149000857
为节点Nm;节点Nm更新通信信息 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
Figure BDA000022110149000859
的字段更新:赋值为
Figure BDA000022110149000861
(即1),
Figure BDA000022110149000862
队列加入
Figure BDA000022110149000863
(即节点L2)
节点Nm侦听到节点L3的转发建树消息 tra _ Build L 3 = { tra L 3 , tra _ level L 3 , tra _ Father L 3 } , 并且为节点Nm
节点Nm更新通信信息 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
Figure BDA00002211014900091
的字段更新:
Figure BDA00002211014900092
赋值为
Figure BDA00002211014900093
(即2),队列加入
Figure BDA00002211014900095
(即节点L3)
节点Nm侦听到节点L4的转发建树消息 tra _ Build L 4 = { tra L 4 , tra _ level L 4 , tra _ Father L 4 } , 并且
Figure BDA00002211014900097
为节点Nm
节点Nm更新通信信息
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
Figure BDA00002211014900099
的字段更新:
Figure BDA000022110149000910
赋值为
Figure BDA000022110149000911
(即3),
Figure BDA000022110149000912
队列加入
Figure BDA000022110149000913
(即节点L4)
节点Nm侦听到节点L10的转发建树消息 tra _ Build L 10 = { tra L 10 , tra _ level L 10 , tra _ Father L 10 } , 并且
Figure BDA000022110149000915
为节点Nm;节点Nm更新通信信息 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
的字段更新:
Figure BDA000022110149000918
赋值为(即4),
Figure BDA000022110149000920
队列分别加入(即节点L10)
节点Nm侦听到节点N1的转发建树消息 tra _ Build N 1 = { tra N 1 , tra _ level N 1 , tra _ Father N 1 } , 并且为节点Nm;节点Nm更新通信信息 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
Figure BDA000022110149000925
的字段更新:
Figure BDA000022110149000926
赋值为
Figure BDA000022110149000927
(即5),
Figure BDA000022110149000928
队列分别加入
Figure BDA000022110149000929
(即节点N1)
节点Nm侦听到节点Ni的转发建树消息 tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } , 并且
Figure BDA000022110149000931
为节点Nm;节点Nm更新通信信息 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } ;
Figure BDA000022110149000933
的字段更新:赋值为(即6),
Figure BDA000022110149000936
队列加入
Figure BDA000022110149000937
(即节点Ni)。
节点Nm为分支节点,孩子节点分别为节点L2、节点L3、节点L4、节点L10、节点N1和节点Ni
节点L5、节点L6、节点L7、节点L8和节点L9第一次侦听到其他节点N1发出的转发建树消息
Figure BDA000022110149000938
后,此时,节点L5、节点L6、节点L7、节点L8和节点L9将各自更新转发建树消息;
节点L5转发建树消息格式为:
tra _ Build L 5 = { tra L 5 , tra _ level L 5 , tra _ Father L 5 } ;
的字段赋值:
Figure BDA00002211014900102
赋值为
Figure BDA00002211014900103
(即树结构中的第
Figure BDA00002211014900104
层);
Figure BDA00002211014900105
赋值为(即节点N1)。
节点L6转发建树消息格式为:
tra _ Build L 6 = { tra L 6 , tra _ level L 6 , tra _ Father L 6 } ;
Figure BDA00002211014900108
的字段赋值:
Figure BDA00002211014900109
赋值为
Figure BDA000022110149001010
(即树结构中的第
Figure BDA000022110149001011
层);
Figure BDA000022110149001012
赋值为(即节点N1)。
节点L7转发建树消息格式为:
tra _ Build L 7 = { tra L 7 , tra _ level L 7 , tra _ Father L 7 } ;
的字段赋值:
Figure BDA000022110149001016
赋值为
Figure BDA000022110149001017
(即树结构中的第
Figure BDA000022110149001018
层);
Figure BDA000022110149001019
赋值为
Figure BDA000022110149001020
(即节点N1)。
节点L8转发建树消息格式为:
tra _ Build L 8 = { tra L 8 , tra _ level L 8 , tra _ Father L 8 } ;
Figure BDA000022110149001022
的字段赋值:
Figure BDA000022110149001023
赋值为
Figure BDA000022110149001024
(即树结构中的第
Figure BDA000022110149001025
层);
Figure BDA000022110149001026
赋值为
Figure BDA000022110149001027
(即节点N1)。
节点L9转发建树消息格式为:
tra _ Build L 9 = { tra L 9 , tra _ level L 9 , tra _ Father L 9 } ;
Figure BDA000022110149001029
的字段赋值:
Figure BDA000022110149001030
赋值为
Figure BDA000022110149001031
(即树结构中的第
Figure BDA000022110149001032
层);
Figure BDA000022110149001033
赋值为
Figure BDA000022110149001034
(即节点N1)。
节点L5一方面将
Figure BDA000022110149001035
进行广播,另一方面将
Figure BDA000022110149001036
Figure BDA000022110149001037
置入L5的通信信息
Figure BDA000022110149001038
中;通信信息
Figure BDA000022110149001039
的格式为:
CM L 5 = { depth L 5 , num _ C hildren L 5 , list _ Childre n L 5 , parent L 5 } ;
Figure BDA000022110149001041
的字段赋值:
Figure BDA000022110149001042
赋值为
Figure BDA000022110149001043
Figure BDA000022110149001044
赋值为0,
Figure BDA000022110149001045
赋值为空,
Figure BDA000022110149001046
赋值为
Figure BDA000022110149001047
(即节点N1)。
节点L6一方面将
Figure BDA000022110149001048
进行广播,另一方面将
Figure BDA000022110149001049
Figure BDA000022110149001050
置入L6的通信信息
Figure BDA000022110149001051
中;通信信息
Figure BDA000022110149001052
的格式为:
CM L 6 = { depth L 6 , num _ C hildren L 6 , list _ Childre n L 6 , parent L 6 } ;
Figure BDA000022110149001054
的字段赋值:
Figure BDA000022110149001055
赋值为
Figure BDA000022110149001056
Figure BDA000022110149001057
赋值为0,
Figure BDA000022110149001058
赋值为空,
Figure BDA000022110149001059
赋值为(即节点N1)。
节点L7一方面将
Figure BDA000022110149001061
进行广播,另一方面将
Figure BDA000022110149001062
Figure BDA000022110149001063
置入L7的通信信息
Figure BDA000022110149001064
中;通信信息
Figure BDA000022110149001065
的格式为:
CM L 7 = { depth L 7 , num _ C hildren L 7 , list _ Childre n L 7 , parent L 7 } ;
Figure BDA000022110149001067
的字段赋值:赋值为
Figure BDA000022110149001069
Figure BDA000022110149001070
赋值为0,赋值为空,
Figure BDA00002211014900112
赋值为
Figure BDA00002211014900113
(即节点N1)。
节点L8一方面将
Figure BDA00002211014900114
进行广播,另一方面将
Figure BDA00002211014900115
置入L8的通信信息中;通信信息的格式为:
CM L 8 = { depth L 8 , num _ C hildren L 8 , list _ Childre n L 8 , parent L 8 } ;
的字段赋值:
Figure BDA000022110149001111
赋值为
Figure BDA000022110149001112
Figure BDA000022110149001113
赋值为0,
Figure BDA000022110149001114
赋值为空,
Figure BDA000022110149001115
赋值为
Figure BDA000022110149001116
(即节点N1)。
节点L9一方面将
Figure BDA000022110149001117
进行广播,另一方面将
Figure BDA000022110149001118
Figure BDA000022110149001119
置入L9的通信信息
Figure BDA000022110149001120
中;通信信息的格式为:
CM L 9 = { depth L 9 , num _ C hildren L 9 , list _ Childre n L 9 , parent L 9 } ;
Figure BDA000022110149001123
的字段赋值:
Figure BDA000022110149001124
赋值为
Figure BDA000022110149001126
赋值为0,
Figure BDA000022110149001127
赋值为空,
Figure BDA000022110149001128
赋值为(即节点N1)。
节点L5、节点L6、节点L7、节点L8和节点L9有公共的父亲节点N1
节点L11、节点L12、节点L13和节点L14第一次侦听到其他节点Ni发出的转发建树消息
Figure BDA000022110149001130
后,此时,节点L11、节点L12、节点L13和节点L14将各自更新转发建树消息;
节点L11转发建树消息格式为:
tra _ Build L 11 = { tra L 11 , tra _ level L 11 , tra _ Father L 11 } ;
的字段赋值:
Figure BDA000022110149001133
赋值为
Figure BDA000022110149001134
(即树结构中的第层);
Figure BDA000022110149001136
赋值为
Figure BDA000022110149001137
(即节点Ni)。
节点L12转发建树消息格式为:
tra _ Build L 12 = { tra L 12 , tra _ level L 12 , tra _ Father L 12 } ;
Figure BDA000022110149001139
的字段赋值:
Figure BDA000022110149001140
赋值为
Figure BDA000022110149001141
(即树结构中的第
Figure BDA000022110149001142
层);
Figure BDA000022110149001143
赋值为
Figure BDA000022110149001144
(即节点Ni)。
节点L13转发建树消息格式为:
tra _ Build L 13 = { tra L 13 , tra _ level L 13 , tra _ Father L 13 } ;
Figure BDA000022110149001146
的字段赋值:
Figure BDA000022110149001147
赋值为
Figure BDA000022110149001148
(即树结构中的第
Figure BDA000022110149001149
层);
Figure BDA000022110149001150
赋值为
Figure BDA000022110149001151
(即节点Ni)。
节点L14转发建树消息格式为:
tra _ Build L 14 = { tra L 14 , tra _ level L 14 , tra _ Father L 14 } ;
的字段赋值:
Figure BDA000022110149001154
赋值为
Figure BDA000022110149001155
(即树结构中的第
Figure BDA000022110149001156
层);
Figure BDA000022110149001157
赋值为
Figure BDA000022110149001158
(即节点Ni)。
节点L11一方面将
Figure BDA000022110149001159
进行广播,另一方面将
Figure BDA000022110149001160
Figure BDA000022110149001161
置入L11的通信信息中;通信信息
Figure BDA000022110149001162
的格式为:
CM L 11 = { depth L 11 , num _ C hildren L 11 , list _ Childre n L 11 , parent L 11 } ;
Figure BDA00002211014900122
的字段赋值:
Figure BDA00002211014900123
赋值为
Figure BDA00002211014900125
赋值为0,
Figure BDA00002211014900126
赋值为空,
Figure BDA00002211014900127
赋值为
Figure BDA00002211014900128
(即节点Ni)。
节点L12一方面将
Figure BDA00002211014900129
进行广播,另一方面将
Figure BDA000022110149001210
Figure BDA000022110149001211
置入L12的通信信息中;通信信息
Figure BDA000022110149001212
的格式为:
CM L 12 = { depth L 12 , num _ C hildren L 12 , list _ Childre n L 12 , parent L 12 } ;
Figure BDA000022110149001214
的字段赋值:
Figure BDA000022110149001215
赋值为
Figure BDA000022110149001216
Figure BDA000022110149001217
赋值为0,
Figure BDA000022110149001218
赋值为空,
Figure BDA000022110149001219
赋值为
Figure BDA000022110149001220
(即节点Ni)。
节点L13一方面将
Figure BDA000022110149001221
进行广播,另一方面将
Figure BDA000022110149001222
Figure BDA000022110149001223
置入L13的通信信息中;通信信息的格式为:
CM L 13 = { depth L 13 , num _ C hildren L 13 , list _ Childre n L 13 , parent L 13 } ;
Figure BDA000022110149001226
的字段赋值:
Figure BDA000022110149001227
赋值为
Figure BDA000022110149001228
Figure BDA000022110149001229
赋值为0,
Figure BDA000022110149001230
赋值为空,赋值为
Figure BDA000022110149001232
(即节点Ni)。
节点L14一方面将进行广播,另一方面将
Figure BDA000022110149001235
置入L14的通信信息中;通信信息
Figure BDA000022110149001236
的格式为:
CM L 14 = { depth L 14 , num _ C hildren L 14 , list _ Childre n L 14 , parent L 14 } ;
Figure BDA000022110149001238
的字段赋值:赋值为
Figure BDA000022110149001240
Figure BDA000022110149001241
赋值为0,
Figure BDA000022110149001242
赋值为空,
Figure BDA000022110149001243
赋值为
Figure BDA000022110149001244
(即节点Ni)。
节点L11、节点L12、节点L13和节点L14有公共的父亲节点Ni
节点Ni侦听到节点L11的转发建树消息 tra _ Build L 11 = { tra L 11 , tra _ level L 11 , tra _ Father L 11 } , 并且
Figure BDA000022110149001246
为节点Ni;节点Ni更新通信信息 CM N i = { depth N i , num _ C hildren N i , list _ Childre n N i , parent N i } ;
Figure BDA000022110149001248
的字段更新:
Figure BDA000022110149001249
赋值为
Figure BDA000022110149001250
(即1),
Figure BDA000022110149001251
队列加入
Figure BDA000022110149001252
(即节点L11)
节点Ni侦听到节点L12的转发建树消息 tra _ Build L 12 = { tra L 12 , tra _ level L 12 , tra _ Father L 12 } , 并且
Figure BDA000022110149001254
为节点Ni;节点Ni更新通信信息 CM N i = { depth N i , num _ C hildren N i , list _ Childre n N i , parent N i } ;
Figure BDA000022110149001256
的字段更新:
Figure BDA000022110149001257
赋值为
Figure BDA000022110149001258
(即2),
Figure BDA000022110149001259
队列加入
Figure BDA000022110149001260
(即节点L12)
节点Ni侦听到节点L13的转发建树消息 tra _ Build L 13 = { tra L 13 , tra _ level L 13 , tra _ Father L 13 } , 并且
Figure BDA00002211014900132
为节点;节点Ni更新通信信息 CM N i = { depth N i , num _ C hildren N i , list _ Childre n N i , parent N i } ;
Figure BDA00002211014900134
的字段更新:
Figure BDA00002211014900135
赋值为
Figure BDA00002211014900136
(即3),
Figure BDA00002211014900137
队列加入
Figure BDA00002211014900139
节点Ni侦听到节点L14的转发建树消息 tra _ Build L 14 = { tra L 14 , tra _ level L 14 , tra _ Father L 14 } , 并且
Figure BDA000022110149001311
为节点;
节点Ni更新通信信息 CM N i = { depth N i , num _ C hildren N i , list _ Childre n N i , parent N i } ;
Figure BDA000022110149001313
的字段更新:
Figure BDA000022110149001314
赋值为
Figure BDA000022110149001315
(即4),队列加入
Figure BDA000022110149001317
(即节点L14)。
节点Ni是分支节点,节点L11、节点L12、节点L13和节点L14是节点Ni的孩子节点。
节点N1侦听到节点L5的转发建树消息 tra _ Build L 5 = { tra L 5 , tra _ level L 5 , tra _ Father L 5 } , 并且
Figure BDA000022110149001319
为节点N1;节点N1更新通信信息 CM N 1 = { depth N 1 , num _ C hildren N 1 , list _ Childre n N 1 , parent N 1 } ;
Figure BDA000022110149001321
的字段更新:
Figure BDA000022110149001322
赋值为
Figure BDA000022110149001323
(即1),
Figure BDA000022110149001324
队列加入
Figure BDA000022110149001325
(即节点L5)
节点N1侦听到节点L6的转发建树消息
Figure BDA000022110149001326
并且
Figure BDA000022110149001327
为节点N1
节点N1更新通信信息 CM N 1 = { depth N 1 , num _ C hildren N 1 , list _ Childre n N 1 , parent N 1 } ;
的字段更新:
Figure BDA000022110149001330
赋值为
Figure BDA000022110149001331
(即2),
Figure BDA000022110149001332
队列加入
Figure BDA000022110149001333
(即节点L6)
节点N1侦听到节点L7的转发建树消息
Figure BDA000022110149001334
并且
Figure BDA000022110149001335
为节点N1;节点N1更新通信信息 CM N 1 = { depth N 1 , num _ C hildren N 1 , list _ Childre n N 1 , parent N 1 } ;
Figure BDA000022110149001337
的字段更新:赋值为
Figure BDA000022110149001339
(即3),
Figure BDA000022110149001340
队列加入
Figure BDA000022110149001341
(即节点L7)
节点N1侦听到节点L8的转发建树消息 tra _ Build L 8 = { tra L 8 , tra _ level L 8 , tra _ Father L 8 } , 并且
Figure BDA00002211014900142
为节点N1
节点N1更新通信信息 CM N 1 = { depth N 1 , num _ C hildren N 1 , list _ Childre n N 1 , parent N 1 } ;
Figure BDA00002211014900144
的字段更新:
Figure BDA00002211014900145
赋值为(即4),
Figure BDA00002211014900147
队列加入(即节点L8)
节点N1侦听到节点L9的转发建树消息 tra _ Build L 9 = { tra L 9 , tra _ level L 9 , tra _ Father L 9 } , 并且
Figure BDA000022110149001410
为节点N1
节点N1更新通信信息 CM N 1 = { depth N 1 , num _ C hildren N 1 , list _ Childre n N 1 , parent N 1 } ;
Figure BDA000022110149001412
的字段更新:
Figure BDA000022110149001413
赋值为
Figure BDA000022110149001414
(即5),
Figure BDA000022110149001415
队列加入
Figure BDA000022110149001416
(即节点L9)
节点N1是分支节点,节点L5、节点L6、节点L7、节点L8、节点L9是节点N1的孩子节点。
节点L1第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L1
节点L2第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L2
节点L3第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L3
节点L4第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L4
节点L5第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L5
节点L6第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L6
节点L7第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L7
节点L8第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L8
节点L9第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L9
节点L10第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L10
节点L11第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L11
节点L12第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L12
节点L13第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L13
节点L14第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L14
节点L15第二次及以后收到的tra_BuildID={traID,tra_levelID,tra_FatherID}中tra_FatherID不为节点L15
故节点L1、节点L2、节点L3、节点L4、节点L5、节点L6、节点L7、节点L8、节点L9、节点L10、节点L11、节点L12、节点L13、节点L14和节点L15均为叶节点。
在本发明中,通过构建初始树T_in使无线传感器网络中的所有节点进行互联通信。在建树过程中,应用了谁发起建树、建树者的父亲节点的信息、建树者的孩子节点的信息,通过比对父亲节点和孩子节点,使得初始树T_in具有树形结构的普适意义。
(二)基于树的网络信息采集步骤2
在本发明中,基于树的网络信息采集中包括有查询请求消息msg_AskID、查询结果消息msg_ResultID
查询请求消息msg_AskID中包括有查询内容Work和广播消息者的身份SenderID;采用集合形式表示为msg_AskID={SenderID,Work};
查询结果消息msg_ResultID中包括有消息发送者的身份SenderID,发送消息者的分支层数level_BranchID、以发送消息者为根的子树能量和energy_BranchID、以发送消息者为根的子树节点个数nodes_BranchID;采用集合形式表示为msg_ResultID={level_BranchID,energy_BranchID,nodes_BranchID,SenderID}
在本发明中,基于树的网络信息采集有下列步骤:
步骤201:根节点sink广播查询请求消息msg_Asksink
所述查询请求消息msg_Asksink={Sendersink,Work}中Sendersink表示广播消息者是根节点sink.
步骤202:查询消息的转发及查询结果消息的产生
步骤202-1:任意一节点Nm第一次侦听到根节点sink广播的网络信息查询消息msg_Asksink={Sendersink,Work}后,如果节点Nm的父节点不是sink,则丢弃网络信息查询消息msg_Asksink,继续侦听;否则,判断 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 中的
Figure BDA00002211014900152
是否为零;
如果为零则产生并向sink回复查询结果消息
Figure BDA00002211014900153
如果不为零则Nm是一个分支节点,并向节点Nm的下游节点转发 msg _ Ask N m = { Sender N m , Work } ; 转入步骤203;
步骤202-2任意一节点Nm第一次侦听到非sink节点Ni转发的查询消息后,如果节点Nm的父亲不是(即节点Ni),继续侦听;否则判断 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 中的
Figure BDA00002211014900165
是否为零;
如果为零则产生并向Ni回复查询结果消息
Figure BDA00002211014900166
如果不为零则Nm是一个分支节点,并向节点Nm的下游节点转发 msg _ Ask N m = { Sender N m , Work } ; 转入步骤203;
在本发明中新产生的查询结果消息 msg _ R esult N m = { level _ Branch N m , energy _ Branch N m , nodes _ Branch N m , Sender N m } 字段初始赋值为:
Figure BDA00002211014900169
初始赋值为
Figure BDA000022110149001610
Figure BDA000022110149001611
初始赋值为1。
Figure BDA000022110149001612
初始赋值为Nm的能量。
步骤203:查询结果消息更新
对接收并转发过查询消息的节点Nm侦听到节点Ni的查询结果消息 msg _ R esult N i = { level _ Branch N i , energy _ Branch N i , nodes _ Branch N i , Sender N i } ;若
Figure BDA000022110149001614
中的
Figure BDA000022110149001615
存在于
Figure BDA000022110149001616
Figure BDA000022110149001617
中,则节点Nm
Figure BDA000022110149001618
保存在本地缓存中;否则丢弃并持续侦听;
节点Nm继续侦听节点Ni的查询结果消息,直至接收到
Figure BDA000022110149001620
个来自Ni的查询结果消息,即得到查询结果消息 msg _ R esult N m = { level _ Branch N m , energy _ Branch N m , nodes _ Branch N m , Sender N m } 并转发出去;
接收到的查询结果消息来自于
Figure BDA000022110149001622
队列中的节点;
所述查询结果消息 msg _ R esult N m = { level _ Branch N m , energy _ Branch N m , nodes _ Branch N m , Sender N m } 中的
Figure BDA000022110149001624
赋值为 ( msg _ Result N i → level _ Branch N i ) , N i ∈ list _ Childre n N m max
Figure BDA000022110149001626
赋值为 Σ N i ∈ list _ Children N m ( msg _ Result N i → energy _ Branch N i ) ,
Figure BDA000022110149001628
赋值为 Σ N i ∈ list _ Children N m ( msg _ Result N i → nodes _ Branch N i ) ;
Figure BDA000022110149001630
指:取
Figure BDA000022110149001631
中的
Figure BDA000022110149001632
字段;
Figure BDA000022110149001633
指:取
Figure BDA000022110149001634
中的
Figure BDA000022110149001635
字段;
指:取
Figure BDA000022110149001637
中的字段。
无线传感器网络中的任意一节点重复步骤202至步骤203,直至根节点sink收到来自其孩子队列list_Childrensink中所有节点的查询结果消息 msg _ R esult N i ∈ list _ C hildren sin k
步骤204:根节点sink计算网络相关信息
网络相关信息是指网络信息net_Info={n,d,Eavg}和网络树度数k。
网络信息net_Info赋值:网络节点总数n赋值为 Σ N i ∈ list _ Children sin k ( msg _ Result N i → sum _ N odes N i ) , 树的高度d赋值为 ( msg _ Result N i → level _ Branch N i ) , N i ∈ list _ Childre n sin k max 网络中节点平均能量Eavg赋值为 Σ N i ∈ list _ Children sin k ( msg _ Result N i → sum _ Energ y N i ) n .
网络树度数k赋值为
Figure BDA00002211014900175
k的赋值计算过程为:如果要建立一棵k叉树,k值的选定依据图论关于k叉树的知识确定:对于一棵k叉树满足:kd-1-1<n≤kd-1,对不等式变形开d次方,近似得到
Figure BDA00002211014900176
网络信息net_Info={n,d,Eavg}中的网络中节点平均能量Eavg和网络树度数k是剪枝与嫁接步骤3时进行剪枝操作作或嫁接操作的数据基础。
(三)树的剪枝与嫁接步骤3
参见图6所示,在本发明中,树结构的剪枝与嫁接包括有通知消息msg_Modify、剪枝消息msg_CutID、嫁接消息msg_GraftID、下达消息msg_ACKID;ID表示树结构中节点的标识;
通知消息msg_Modify中包括有网络树度数k和网络中节点平均能量Eavg;采用集合形式表示为msg_Modify{Eavg,k};
剪枝消息msg_CutID为单播消息,包括有单播消息者身份SenderID′,接收者身份ReceiverID;采用集合形式表示为msg_CutID{SenderID′,ReceiverID};
嫁接消息msg_GraftID为广播消息者的身份SenderID
下达消息msg_ACKID为单播消息,包括有单播消息者身份SenderID′,接收者身份ReceiverID,确认种类标识flag(flag=1时,表示剪枝确认;flag=2时,表示嫁接确认);采用集合形式表示为msg_ACKID{SenderID′,ReceiverID,flag};
在本发明中,树的剪枝与嫁接包括有下列步骤:
步骤301:根节点sink广播通知消息msg_Modify
该msg_Modify在网络中广播
步骤302:剪枝嫁接操作判定
任意一节点Nm第一次侦听到通知消息msg_Modify{Eavg,k},一方面根据树结构的通知消息中的网络节点平均能量Eavg、网络树度数k和Nm的初始能量
Figure BDA00002211014900177
按能量均衡最佳度分配关系
Figure BDA00002211014900178
得到节点和能量相关的最佳度数
Figure BDA00002211014900179
另一方面依据最佳度对建立初始树步骤1的初始树T_in进行剪枝或者是嫁接操作:
若节点Nm的
Figure BDA00002211014900181
Figure BDA00002211014900182
则进行嫁接转入步骤305;若
Figure BDA00002211014900183
则进行剪枝转入步骤303;若
Figure BDA00002211014900184
任意一节点Nm不进行剪枝与嫁接处理。
步骤303:剪枝操作
任意一节点Nm选择孩子队列
Figure BDA00002211014900185
中的待剪技孩子个数
Figure BDA00002211014900186
的孩子节点,并发送(单播方式)剪枝消息
Figure BDA00002211014900187
步骤304:嫁接请求
任意一节点Nm侦听到Ni单播给Nm广播一个嫁接消息
Figure BDA00002211014900189
该嫁接消息
Figure BDA000022110149001810
仅在节点Nm一跳范围扩散;
步骤305:嫁接操作
任意一结点Nm侦听到Ni广播的嫁接消息
Figure BDA000022110149001811
如果Nm处于嫁接状态,则Nm同意节点Ni嫁接到Nm上成为Nm的孩子节点,一方面更新的字段:
Figure BDA000022110149001813
赋值为
Figure BDA000022110149001814
中的加入到
Figure BDA000022110149001817
中;另一方面,向Ni单播下达消息
Figure BDA000022110149001818
如果Nm不处于嫁接状态,则丢弃
Figure BDA000022110149001819
继续侦听;
所述的单播下达消息
Figure BDA000022110149001820
字段赋值:
Figure BDA000022110149001821
Figure BDA000022110149001822
(即节点Ni);flag赋值为2;
步骤306:嫁接确认
任意一节点Nm侦听到Ni单播给Nm的单播下达消息 msg _ ACK N i { Sender N i , Receiver N i , flag } ,
如果
Figure BDA000022110149001824
中的flag等于2时,一方面Nm更新
Figure BDA000022110149001825
并转发;另一方面更新
Figure BDA000022110149001826
Figure BDA000022110149001827
字段更新是指
Figure BDA000022110149001828
赋值为 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m }
Figure BDA000022110149001830
节点;flag字段赋值为1;
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 字段更新为是指
Figure BDA000022110149001832
赋值为
Figure BDA000022110149001833
(即节点Ni);
如果
Figure BDA000022110149001834
中的flag等于1,则Nm更新
Figure BDA000022110149001835
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 字段更新为:
Figure BDA000022110149001837
赋值为
Figure BDA000022110149001838
并将
Figure BDA000022110149001839
中的
Figure BDA000022110149001840
中删除;
网络中的任意一节点Nm持续步骤302-步骤306,直到节点Nm
Figure BDA000022110149001842
时结束,或者Nm的等待时间
Figure BDA000022110149001843
(R表示传感器节点的通信半径,v表示传感器的信号传输的速度)到达时结束,生成能耗均衡融合树T_EBS,如图3所示。从图2与图3的对比可以看出,图2中的节点Nm、节点Ni和节点N1在收到通知消息msg_Modify后,根据能耗均衡策略EBS判断得出节点Nm、节点Ni和节点N1需要进行剪枝操作:
节点Nm向节点L2、节点L3和节点Ni发送剪枝消息
Figure BDA00002211014900191
节点Ni向节点L11发送剪枝消息
Figure BDA00002211014900192
节点N1向节点L5和节点L9发送剪枝消息
Figure BDA00002211014900193
节点L2、节点L3和节点Ni收到剪枝消息后,节点L2、节点L3、节点Ni分别广播嫁接消息
Figure BDA00002211014900195
Figure BDA00002211014900196
Figure BDA00002211014900197
节点L11收到剪枝消息后,节点L11广播嫁接消息
Figure BDA00002211014900199
节点L5和节点L9收到剪枝消息后,节点L5和节点L9分别广播嫁接消息
Figure BDA000022110149001911
节点L1、节点L4、节点L10、节点L15在收到通知消息msg_Modify后,根据能耗均衡策略EBS判断得出节点L1、节点L4、节点L10和节点L15需要进行嫁接操作:节点L1侦听到嫁接消息
Figure BDA000022110149001913
Figure BDA000022110149001914
节点L2和节点L3选定节点L1为父亲并向根节点sink单播下达消息;
节点L15侦听到嫁接消息
Figure BDA000022110149001915
节点Ni选定节点L15为父亲并向根节点sink单播下达消息;
节点L4侦听到嫁接消息
Figure BDA000022110149001916
节点L5选定节点L4为父亲并向节点N1单播下达消息;
节点L10侦听到嫁接消息节点L9选定节点L10为父亲并向节点N1单播下达消息。
节点L2、节点L3、节点L5、节点L6、节点L7、节点L8、节点L9、节点L11、节点L12、节点L13和节点L14收到通知消息msg_Modify后,根据能耗均衡策略EBS判断得出节点L2、节点L3、节点L5、节点L6、节点L7、节点L8、节点L9、节点L11、节点L12、节点L13和节点L14需进行嫁接操作,在等待时间
Figure BDA000022110149001918
Figure BDA000022110149001919
Figure BDA000022110149001920
Figure BDA000022110149001921
达到时,未收到msg_GraftID消息,则节点L2、节点L3、节点L5、节点L6、节点L7、节点L8、节点L9、节点L11、节点L12、节点L13和节点L14嫁接操作结束。

Claims (4)

1.一种基于能耗均衡的无线传感器网络的数据融合树的建树方法,其特征在于:数据融合树的建树采用了基本建树步骤(1)、基于树的网络信息采集步骤(2)和树的剪枝与嫁接步骤(3);
所述基本建树步骤(1)用于建立无线传感器网络中各节点之间的连接,从而实现网络联通,即构建得到初始树T_in,所述初始树T_in中的各个节点预设有初始能量;
所述基于树的网络信息采集步骤(2)第一方面依据所述的初始树T_in并从初始树T_in中提取出节点总数n、树的高度d、初始树T_in中节点平均能量Eavg从而得到初始树T_in中的网络信息net_Info={n,d,Eavg};所述网络信息net_Info={n,d,Eavg}将作为构建能耗均衡的融合树的基础数据;第二方面依据k叉树方法获得所述网络信息net_Info={n,d,Eavg}中网络树度数
所述树的剪枝与嫁接步骤(3)采用能耗均衡策略EBS对所述的初始树T_in中的所有节点进行剪枝或者嫁接;
所述的能耗均衡策略EBS第一方面对初始树T_in中的任意一节点Nm依据能量均衡最佳度分配关系得到节点度数
Figure FDA00002211014800014
表示节点Nm的初始能量;第二方面依据节点度数
Figure FDA00002211014800015
与孩子个数
Figure FDA00002211014800016
的比较,进行剪枝或者嫁接处理;若 num _ Children N m < K N m , 则进行嫁接;若 num _ Children N m > K N m , 则进行剪枝;若
Figure FDA00002211014800019
任意一节点Nm不进行剪枝与嫁接处理。
2.根据权利要求1所述的基于能耗均衡的无线传感器网络的数据融合树的建树方法,其特征在于:所述基本建树步骤(1)中建立初始树T_in步骤有:
步骤101:根节点sink广播建树消息msg_Buildsink
所述建树消息msg_Buildsink={Sendersink,levelsink,Fathersink}中Sendersink表示广播消息者是根节点sink,levelsink表示广播消息者在树结构中的层数,Fathersink表示广播消息者的父亲节点的标识;
msg_Buildsink的字段赋值:levelsink赋值为0;Fathersink赋值为空;
步骤102:更新节点的建树消息
步骤102-1:任意一节点Nm第一次侦听到根节点sink广播的建树消息msg_Buildsink后,Nm将更新自身的建树消息,得到Nm的转发建树消息、一方面将进行广播,另一方面将
Figure FDA00002211014800023
和Fathersink置入Nm的通信信息中;转入步骤103;
tra _ Build N m = { tra N m , tra _ level N m , tra _ Father N m }
Figure FDA00002211014800026
表示转发建树消息的节点Nm
Figure FDA00002211014800027
表示节点Nm在树结构中的层数,
Figure FDA00002211014800028
表示节点Nm的父亲节点的标识;
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m }
Figure FDA000022110148000210
表示节点Nm在树结构中的层数、
Figure FDA000022110148000211
表示节点Nm的孩子个数、表示节点Nm的孩子队列,
Figure FDA000022110148000213
表示节点Nm的父节点的标识;
Figure FDA000022110148000214
的字段赋值:
Figure FDA000022110148000215
赋值为levelsink+1,即树结构中的第一层;
Figure FDA000022110148000216
赋值为根节点sink;
Figure FDA000022110148000217
的字段赋值:
Figure FDA000022110148000218
赋值为
Figure FDA000022110148000220
赋值为0,赋值为空,
Figure FDA000022110148000222
赋值为根节点sink;
步骤102-2:任意一节点Nm第一次侦听到其他节点Ni发出的转发建树消息
Figure FDA000022110148000223
后,Nm将更新自身的建树消息,得到Nm的转发建树消息
Figure FDA000022110148000224
一方面将
Figure FDA000022110148000225
进行广播;另一方面将
Figure FDA000022110148000226
Figure FDA000022110148000227
置入Nm的通信信息
Figure FDA000022110148000228
中;转入步骤103;
tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } 表示转发建树消息的节点Ni
Figure FDA000022110148000231
表示节点Ni在树结构中的层数,
Figure FDA000022110148000232
表示节点Ni的父亲节点的标识;
Figure FDA000022110148000233
的字段赋值:赋值为
Figure FDA000022110148000235
即树结构中的第
Figure FDA00002211014800031
层;
Figure FDA00002211014800032
赋值为节点
Figure FDA00002211014800033
Figure FDA00002211014800034
的字段赋值:赋值为
Figure FDA00002211014800036
赋值为0,
Figure FDA00002211014800038
赋值为空,赋值为节点
Figure FDA000022110148000310
步骤103:孩子节点的确定
任意一节点Nm在第二次侦听到其他节点Ni发出的转发建树消息
Figure FDA000022110148000311
后,进行父子关系的判断,得到Nm的孩子节点;
父子关系判断条件: tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } 中的
Figure FDA000022110148000313
是否是节点Nm,若是,则更新 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 中的 num _ C hildren N m , list _ Childre n N m ;
更新时赋值记录为
Figure FDA000022110148000317
更新时将 tra _ Build N i = { tra N i , tra _ level N i , tra _ Father N i } 中的
Figure FDA000022110148000320
加入到中。
3.根据权利要求1所述的基于能耗均衡的无线传感器网络的数据融合树的建树方法,其特征在于:基于树的网络信息采集有下列步骤:
步骤201:根节点sink广播查询请求消息msg_Asksink
所述查询请求消息msg_Asksink={Sendersink,Work}中Sendersink表示广播消息者是根节点sink.
步骤202:查询消息的转发及查询结果消息的产生
步骤202-1:任意一节点Nm第一次侦听到根节点sink广播的网络信息查询消息msg_Asksink={Sendersink,Work}后,如果节点Nm的父节点不是sink,则丢弃网络信息查询消息msg_Asksink,继续侦听;否则,判断 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 中的是否为零;
如果为零则产生并向sink回复查询结果消息
如果不为零则Nm是一个分支节点,并向节点Nm的下游节点转发 msg _ A sk N m = { Sender N m , Work } ; 转入步骤203;
步骤202-2任意一节点Nm第一次侦听到非sink节点Ni转发的查询消息
Figure FDA00002211014800042
后,如果节点Nm的父亲不是
Figure FDA00002211014800043
(即节点Ni),继续侦听;否则判断 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 中的
Figure FDA00002211014800045
是否为零;
如果为零则产生并向Ni回复查询结果消息
Figure FDA00002211014800046
如果不为零则Nm是一个分支节点,并向节点Nm的下游节点转发 msg _ A sk N m = { Sender N m , Work } ; 转入步骤203;
在新产生的查询结果消息 msg _ R esult N m = { level _ Branch N m , energy _ Branch N m , nodes _ Branch N m , Sender N m } 字段初始赋值为:
Figure FDA00002211014800049
初始赋值为
Figure FDA000022110148000410
Figure FDA000022110148000411
初始赋值为1;
Figure FDA000022110148000412
初始赋值为Nm的能量;
步骤203:查询结果消息更新
对接收并转发过查询消息的节点Nm侦听到节点Ni的查询结果消息 msg _ R esult N i = { level _ Branch N i , energy _ Branch N i , nodes _ Branch N i , Sender N i } ;若
Figure FDA000022110148000414
中的
Figure FDA000022110148000415
存在于
Figure FDA000022110148000416
中,则节点Nm
Figure FDA000022110148000418
保存在本地缓存中;否则丢弃并持续侦听;
节点Nm继续侦听节点Ni的查询结果消息,直至接收到
Figure FDA000022110148000420
个来自Ni的查询结果消息,即得到查询结果消息 msg _ R esult N m = { level _ Branch N m , energy _ Branch N m , nodes _ Branch N m , Sender N m } 并转发出去;
接收到的查询结果消息来自于
Figure FDA000022110148000422
队列中的节点;
所述查询结果消息 msg _ R esult N m = { level _ Branch N m , energy _ Branch N m , nodes _ Branch N m , Sender N m } 中的
Figure FDA000022110148000424
赋值为 ( msg _ Result N i &RightArrow; level _ Branch N i ) , N i &Element; list _ Childre n N m max
Figure FDA000022110148000426
赋值为 &Sigma; N i &Element; list _ Children N m ( msg _ Result N i &RightArrow; energy _ Branch N i ) ,
Figure FDA00002211014800051
赋值为 &Sigma; N i &Element; list _ Children N m ( msg _ Result N i &RightArrow; nodes _ Branch N i ) ;
Figure FDA00002211014800053
指:取中的
Figure FDA00002211014800055
字段;
Figure FDA00002211014800056
指:取
Figure FDA00002211014800057
中的
Figure FDA00002211014800058
字段;
Figure FDA00002211014800059
指:取
Figure FDA000022110148000510
中的
Figure FDA000022110148000511
字段;
无线传感器网络中的任意一节点重复步骤202至步骤203,直至根节点sink收到来自其孩子队列list_Childrensink中所有节点的查询结果消息
步骤204:根节点sink计算网络相关信息
网络相关信息是指网络信息net_Info={n,d,Eavg)和网络树度数k;
网络信息net_Info赋值:网络节点总数n赋值为 &Sigma; N i &Element; list _ Children sin k ( msg _ Result N i &RightArrow; sum _ N odes N i ) , 树的高度d赋值为 ( msg _ Result N i &RightArrow; level _ Branch N i ) , N i &Element; list _ Childre n sin k max 网络中节点平均能量Eavg赋值为 &Sigma; N i &Element; list _ Children sin k ( msg _ Result N i &RightArrow; sum _ Energ y N i ) n ;
网络树度数k赋值为
Figure FDA000022110148000516
k的赋值计算过程为:如果要建立一棵k叉树,k值的选定依据图论关于k叉树的知识确定:对于一棵k叉树满足:kd-1-1<n≤kd-1,对不等式变形开d次方,近似得到
Figure FDA000022110148000517
4.根据权利要求1所述的基于能耗均衡的无线传感器网络的数据融合树的建树方法,其特征在于:树的剪枝与嫁接包括有下列步骤:
步骤301:根节点sink广播通知消息msg_Modify
步骤302:剪枝嫁接操作判定
任意一节点Nm第一次侦听到通知消息msg_Modify{Eavg,k},一方面根据树结构的通知消息中的网络节点平均能量Eavg、网络树度数k和Nm的初始能量
Figure FDA00002211014800061
按能量均衡最佳度分配关系得到节点和能量相关的最佳度数
Figure FDA00002211014800063
另一方面依据最佳度
Figure FDA00002211014800064
对建立初始树步骤1的初始树T_in进行剪枝或者是嫁接操作:
若节点Nm
Figure FDA00002211014800065
Figure FDA00002211014800066
则进行嫁接转入步骤305;若
Figure FDA00002211014800067
则进行剪枝转入步骤303;若
Figure FDA00002211014800068
任意一节点Nm不进行剪枝与嫁接处理;
步骤303:剪枝操作
任意一节点Nm选择孩子队列
Figure FDA00002211014800069
中的待剪技孩子个数
Figure FDA000022110148000610
的孩子节点,并以单播方式发送剪枝消息
Figure FDA000022110148000611
步骤304:嫁接请求
任意一节点Nm侦听到Ni单播给Nm
Figure FDA000022110148000612
广播一个嫁接消息
Figure FDA000022110148000613
该嫁接消息
Figure FDA000022110148000614
仅在节点Nm一跳范围扩散;
步骤305:嫁接操作
任意一结点Nm侦听到Ni广播的嫁接消息
Figure FDA000022110148000615
如果Nm处于嫁接状态,则Nm同意节点Ni嫁接到Nm上成为Nm的孩子节点,一方面更新
Figure FDA000022110148000616
的字段:
Figure FDA000022110148000617
赋值为
Figure FDA000022110148000618
中的加入到
Figure FDA000022110148000621
中;另一方面,向Ni单播下达消息
Figure FDA000022110148000622
如果Nm不处于嫁接状态,则丢弃
Figure FDA000022110148000623
继续侦听;
所述的单播下达消息
Figure FDA000022110148000624
字段赋值:
Figure FDA000022110148000625
Figure FDA000022110148000626
flag赋值为2;
步骤306:嫁接确认
任意一节点Nm侦听到Ni单播给Nm的单播下达消息
Figure FDA000022110148000627
如果
Figure FDA000022110148000628
中的flag等于2时,一方面Nm更新
Figure FDA000022110148000629
并转发;另一方面更新
Figure FDA000022110148000630
Figure FDA000022110148000631
字段更新是指赋值为 CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m }
Figure FDA000022110148000634
节点;flag字段赋值为1;
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 字段更新为是指
Figure FDA00002211014800072
赋值为
Figure FDA00002211014800073
如果
Figure FDA00002211014800074
中的flag等于1,则Nm更新
Figure FDA00002211014800075
CM N m = { depth N m , num _ C hildren N m , list _ Childre n N m , parent N m } 字段更新为:
Figure FDA00002211014800077
赋值为
Figure FDA00002211014800078
并将
Figure FDA00002211014800079
中的
Figure FDA000022110148000710
Figure FDA000022110148000711
中删除;
网络中的任意一节点Nm持续步骤302-步骤306,直到节点Nm
Figure FDA000022110148000712
时结束,或者Nm的等待时间
Figure FDA000022110148000714
到达时结束,生成能耗均衡融合树T_EBS;R表示传感器节点的通信半径,v表示传感器的信号传输的速度。
CN201210370671.8A 2012-09-28 2012-09-28 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法 Expired - Fee Related CN102892189B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210370671.8A CN102892189B (zh) 2012-09-28 2012-09-28 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210370671.8A CN102892189B (zh) 2012-09-28 2012-09-28 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法

Publications (2)

Publication Number Publication Date
CN102892189A true CN102892189A (zh) 2013-01-23
CN102892189B CN102892189B (zh) 2014-09-03

Family

ID=47535500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210370671.8A Expired - Fee Related CN102892189B (zh) 2012-09-28 2012-09-28 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法

Country Status (1)

Country Link
CN (1) CN102892189B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539542A (zh) * 2014-12-03 2015-04-22 南京邮电大学 一种基于移动Sink数据收集的低能耗路由树枝剪方法
CN104661185A (zh) * 2013-11-21 2015-05-27 富士通株式会社 融合树的构建方法、融合数据的收集和传输方法及其节点
CN108769941A (zh) * 2018-05-29 2018-11-06 首都师范大学 基于逻辑节点的无线传感器网络可靠数据收集方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478820A (zh) * 2009-01-19 2009-07-08 苏州市华芯微电子有限公司 传感器网络的无线定位方法
CN101835237A (zh) * 2010-05-14 2010-09-15 南京邮电大学 一种无线传感器网络中的数据融合方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478820A (zh) * 2009-01-19 2009-07-08 苏州市华芯微电子有限公司 传感器网络的无线定位方法
CN101835237A (zh) * 2010-05-14 2010-09-15 南京邮电大学 一种无线传感器网络中的数据融合方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘云璐 等: "一种无线传感器网络MAC协议优化算法", 《计算机学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661185A (zh) * 2013-11-21 2015-05-27 富士通株式会社 融合树的构建方法、融合数据的收集和传输方法及其节点
CN104661185B (zh) * 2013-11-21 2019-03-01 富士通株式会社 一种融合数据传输方法及多跳网络
CN104539542A (zh) * 2014-12-03 2015-04-22 南京邮电大学 一种基于移动Sink数据收集的低能耗路由树枝剪方法
CN104539542B (zh) * 2014-12-03 2017-10-24 南京邮电大学 一种基于移动Sink数据收集的低能耗路由树枝剪方法
CN108769941A (zh) * 2018-05-29 2018-11-06 首都师范大学 基于逻辑节点的无线传感器网络可靠数据收集方法及装置
CN108769941B (zh) * 2018-05-29 2020-12-04 首都师范大学 基于逻辑节点的无线传感器网络可靠数据收集方法及装置

Also Published As

Publication number Publication date
CN102892189B (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN101729331B (zh) 成簇方法与装置、簇头与基站的路由方法与装置
CN101965031B (zh) 一种基于最大概率的认知无线电多径组播路由方法
CN104093180B (zh) 一种基于多网关数据传输的无线传感网络路由方法
CN101355517B (zh) 基于无线传感器能量信息的网络负载平衡方法
CN109547965A (zh) 一种基于业务优先级的无线传感器网络路径规划方法
CN103095577B (zh) 上下文相关的非均匀分簇路由算法
Adil Mahdi et al. WDARS: A Weighted Data Aggregation Routing Strategy with Minimum Link Cost in Event‐Driven WSNs
CN101562861A (zh) 无线传感器网络中基于跳数和能量的跨层双向路由方法
CN101945432A (zh) 一种用于无线mesh网络的多速率机会路由方法
CN101674630A (zh) 一种可感知拥塞的跨层路由实现方法
CN101877827A (zh) 面向楼宇监测的无线传感器网络数据收集方法
CN104053175A (zh) 一种物联网感知层拓扑控制方法
CN105873160B (zh) 一种认知无线传感器网络中无公用信道的簇构建与路由方法
CN103338495B (zh) 基于leps协议的双向能量均衡无线传感网路由方法
CN110769444B (zh) 一种基于功率分配的无线携能通信的传输方法
CN103974367A (zh) 无线传感器网络中基于heed算法的错误容忍和多路径优化方法
CN104883301A (zh) 基于剩余能量与通信代价的无线传感器网络分簇路由协议
CN109618368B (zh) 一种时延与功耗联合优化的无线传感网数据融合调度算法
CN102892189B (zh) 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法
CN104333883A (zh) 一种改进的无线传感器网络能量多路径路由方法
CN103312612A (zh) 多约束服务质量路由选择的优化方法及系统
CN105764110A (zh) 一种基于免疫克隆选择的无线传感器网络路由优化方法
Srinidhi et al. Hybrid energy efficient and QoS aware algorithm to prolong IoT network lifetime
Srinidhi et al. Hybrid energy-efficient and QoS-aware algorithm for intelligent transportation system in IoT
CN116634504A (zh) 基于改进nsga-ii算法的无人机组网拓扑关系与带宽分配优化策略

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Yin Chuantao

Inventor after: Pu Juhua

Inventor after: Chen Zun

Inventor after: Tang Xiaolan

Inventor after: Chen Jia

Inventor after: Ma Kun

Inventor after: Xiong Zhang

Inventor before: Pu Juhua

Inventor before: Chen Zun

Inventor before: Tang Xiaolan

Inventor before: Chen Jia

Inventor before: Ma Kun

Inventor before: Xiong Zhang

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: PU JUHUA CHEN ZUN TANG XIAOLAN CHEN JIA MA KUN XIONG ZHANG TO: YIN CHUANTAO PU JUHUA CHEN ZUN TANG XIAOLAN CHEN JIA MA KUN XIONG ZHANG

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140903

Termination date: 20150928

EXPY Termination of patent right or utility model