一种无线传感器网络中的数据融合方法

文档序号:7748833阅读:201来源:国知局
专利名称:一种无线传感器网络中的数据融合方法
技术领域
本发明提出了一种无线传感器网络中的数据融合方法,属于无线传感器网络领 域。
背景技术
胃;Si十胃(Ubiquitous Computing Pervasive Computing)目fei^gMt—f 充满计算机和通信能力的环境,是信息空间和物理空间的融合,在这个融合的空间中,人们 可以随时随地、透明地获得数字化服务。目前,由空间分布的传感器节点组成的无线传感器 网络,是普适计算的主要支撑,其节点都配有感知和通信设备,通过相互协作,能为普适计 算提供情景感知所需的上下文数据,如,位置、光照、温度和体征信息等。但传感器节点通常 在能量、通信、计算与存储能力等方面受限,尤其将节点部署在恶劣环境时,由于节点位置 固定,能源由电池供给且不易补充,能量受限成为无线传感器网络的瓶颈,而且这一问题又 随着网络规模的扩大而加剧。所以,设计一个能量高效的通 信机制,有效地收集传感器数 据,为上层服务提供基础,已成为基于无线传感器网络的普适计算所关注的重点,数据融合 就是其中一项重要技术。数据融合是将多份数据或信息进行处理,剔除冗余,组合出更有效、更符合用户需 求的数据的过程,其作用是节省整个网络的能量、增强所收集数据的精准性以及提高收集 数据的效率。目前,网络层的数据融合技术研究较多,如基于簇、基于链和基于树的数据融 合技术。基于簇的数据融合,如LEACH。LEACH将网络划分成多个簇,每个簇选取一个固定 簇头,簇内成员都仅与簇头通信,簇头在收到本簇成员的数据后进行融合处理,并将结果直 接发给汇聚节点。LEACH使用分簇的方法,使得数据融合的作用突显出来,但并未给出具体 的融合方法,且LEACH假设簇头与汇聚节点可以直接通信,限制了网络的规模,加之,需要 进行周期性分簇和簇头轮换以保证网络的连通和节点能耗的均衡,增大了开销。基于链的 融合,如PEGASIS,它将网络中所有节点链接成单链结构,并随机选取一个首领,首领向链的 两端发出数据采集请求,之后数据从单链的两端向首领传送,中间节点执行数据融合操作, 最终由首领将结果直接传送给汇聚节点。PEGASIS使得每个节点发送数据的距离几乎都是 最短的,且只有一个节点进行远距离传输,比LEACH更节省能量。尽管如此,PEGASIS仍存 在缺陷。它假设所有节点距离汇聚节点都很远,且都能将收到的数据分组与自己的数据融 合成一个大小不变的分组。现实网络和应用中,这种假设不易成立,即便成立,数据采集的 延迟不易控制,且单链结构的鲁棒性较差,而且随着网络规模增大缺陷更加明显。基于树的 融合技术是通过反向组播树的形式从分散的传感器节点逐步将监测数据汇集起来,树上每 个中间节点都对收到的数据进行融合处理,数据得到最大限度的融合。Krishnamachari提 出三种数据融合树的构建方案,近源汇聚、最短路径树和贪心增长树。这三种方案均能有效 减少数据的传输量,从而达到节能目的,但要求节点知道其彼此之间的距离,即节点的位置 要明确。当网络规模较大时,节点定位不易实现,且融合树要求所有节点都加入到树中,融 合树的维护较为复杂,时延也不易控制。
以上几种融合方法都未根据应用考虑融合精度与时延之间的关系。一般而言,融 合时间越长,在该时间段内获得的数据就越多,越能获得更精准的数据,就更能有效的降低 网络的数据通信量;融合时间越短,获得的数据越少,融合的效果就越差。普适计算中的上 下文数据有即时变化型和稳定型两大类,由于上层应用对这两类上下文的新鲜度和精度要 求不同,可以在融合时设定融合时间,以达到融合精度和时延的平衡。

发明内容
技术问题本发明提出了一种无线传感器网络中基于树和控时的数据融合方法 (TBTCDA =Tree-Based and Time-Controlled DataAggregation),在节点位置信息不确定 的情况下,进行数据融合,以达到减少网络通信量和节点能耗的目的,并权衡数据融合精度 与通信时延之间的矛盾。技术方案本发明解决其技术问题所采用的技术方案是步骤一、网络初始化,N个节点有唯一编号,被随机部署在面积为S的平面区域中,节点之间距离未知,但假定网络连通,Sink发起建簇通知后,节点被划分到半径相同的簇 内,簇有唯一标号;步骤二、由Sink发起融合树的建立通知,确定簇头之间父子关系,建立子簇链表 和父簇链表,首选父簇的选择,由簇内节点能量总和和能量方差五决定,£丨_值越大, 说明该簇能服务的时间越长,优先考虑成为父簇4%越小说明簇内节点能量越平均,服务 能力越接近,在取._相同时,优先考虑成为父簇;步骤三、控制融合时间、数据收集与融合;步骤31)、求出所有节点参与融合时的单位时延Ta,Sink设定的初始Ta值较小,然 后先以指数方式增大Ta,之后以线性方式调整,快速估算出所有节点都参与融合的最小单 位时间; 步骤32)、根据应用需求设定Ta和融合精度P,每个簇头根据所在层次Ieveli和Ta 计算出本簇融合等待时间Ti,并根据P计算出需要参加融合的节点数Ci ;步骤33)、数据收集、融合与传输,最终到达Sink节点,如果等待时间到或者本簇 收到Ci个节点采集的数据,簇头将数据融合后传送给父簇。所述步骤一中的网络初始化具体为有六种通知类型A型通知-成簇通知;B型通知-建树通知;C,调整融合时延通 知;D,信息查询通知;E,簇头轮换通知;F,父簇消亡通知;有两种回应消息RA回应-同意加入簇;RB回应-同意成为子簇;步骤1、Sink设定成簇等待的单位时间T,并广播A型通知;步骤2、节点Ni等待通知信息;步骤3、如果收到A型通知,则执行步骤4 ;否则,执行步骤2 ;步骤4、如果Ni已经加入某簇Cj,则不执行操作;否则,执行下一步;步骤5、Ni根据自身能量E,等待H(E) XT时间;步骤6、如果等待时间到,Ni未收到A型通知,则执行步骤7 ;否则,如果Ni收到Nj 发送的加入簇G的请求,则执行步骤8 ;步骤7為以每比特Etx (d0/2)能耗广播自己成为簇头Headi,请求距自己dQ//2距离以内的邻居加入簇Ci,之后执行步骤9 ;步骤8為同意加入簇C」,以每比特ETx(d。/2)能耗发送RA回应,并以每比特E(d。) 能量发送A型通知,执行步骤10 ;步骤9、 收到簇Ci的加簇请求,同意加入簇Ci,并以每比特Etx (d0/2)能耗发送RA 回应,并以每比特E (d0)能耗发送A型通知,执行步骤10 ;步骤10、簇头HeadxE录同意加入本簇的节点编号k和能量Ek,并统计节点数 numx,建立簇内节点链表Inner Link (NL),该链表按节点能量排序;步骤11、簇头通过设定超时实现,不再收到邻居节点的RA回应,则以每比特 Etx (d0)能耗广播A型通知;步骤12、所有节点均已加入某簇,则执行13 ;否则,执行步骤2 ;步骤13、停止。所述步骤二中建立融合树的方法具体为步骤31、Sink节点广播B型通知;步骤32、收到Ntl-Sink节点的B型通知,簇头Headi将本簇所在层次Ieveli记为1, 并广播B型通知,内容包括通知类型、簇编号i、簇层次level”簇内节点总能量及其能 量方差值£皿,i =e [1,100];步骤33、簇头Headj等待B型通知,如果收到,则执行步骤4 ;否则,停留在本步骤; j =e [1,100];步骤34、如果是子簇发送的B型通知,则丢弃;否则执行下一步;步骤35、Ηθ 1」计算本簇所在层次。如果比已记录的最小层次高两层以上,则丢弃, 否则,执行下一步;步骤36、Headj以链表“Parent Link, PL”记录父簇编号i,E:m、和本簇所在 层次Ievelj = leveli+Ι,并统计父簇个数;Headj按五·对PL排序,皮. m相同,则按^Ew排序, 之后广播B型通知,执行下一步;步骤37、如果所有簇头不再收到父簇信息,执行步骤8,否则,执行步骤3;步骤38、簇头Headj向链表中首选父簇Ck发送RB回应,内容包括父簇编号k、以本 簇头为根的树上节点数coim、;本步骤从树的叶节点开始,向根节点逐层统计;步骤39、簇头等待子簇RB回应;步骤310、Headj收到Headx的RB回应,则在链表CL-Children Link中记录子簇编 号 χ 禾口 Countx,并修改 count j = numj+countx步骤311、所有簇头不再收到子簇RB回应,则停止,否则,执行步骤9。所述步骤三中控制融合时间的方法具体为本步骤分为两个阶段。第一阶段,求出在所有节点参与数据融合时的单位时延,第 二阶段,根据上层应用对数据精度和新鲜度的要求,再设定每个簇的最大融合等待时间;第一阶段步骤41、根据经验Sink设定融合等待单位时间Ta、融合精度P = 1,以及指数增大 Ta的次数n,并广播C型通知,内容包括通知类型、Ta和P ;
步骤42、簇头Headi等待C型通知,收到,则执行步骤43 ;否则,停留在本步;步骤43、Headi解析出Ta和P,根据Ieveli和Countii e [1,100],设定本簇最长等待时间为F1 (Ieveli) XTa和预计参与融合的节点数为「count, χ P],并广播C型通知;步骤44、等待子簇和本簇节点信息;步骤45、如果最长等待时间到,执行步骤47,否则,执行步骤46 ;步骤46、如果Headi收到预计节点数据量,执行步骤47,否则,执行步骤44 ;步骤47、向父簇报告以本簇头为树根的树上所有参与融合的节点数Coimtpi ;步骤48、Sink统计以自身为树根的树上参与融合的节点数Coimtptl ;步骤49、η减1,如果η不小于0,执行步骤410,否则,执行步骤412 ;步骤410、如果count。与Coimtptl相同,则以线性方式减小Ta,并设定标志F为真, 表明Coimtci与Coimtpci已达到相同;否则,执行下一步;步骤411、如果F标志为真,则以线性方式增大!;,执行步骤414 ;否则,以指数方式 增大Ta,执行步骤41 ;步骤412、如果count。与Coimtptl相同,则以线性方式减小Ta,执行步骤41 ;否则, 执行步骤413 ;步骤413、如果F标志为真,则以线性方式增大!;,执行步骤414 ;否则,以线性方式 增大Ta,执行步骤41 ;步骤414、进入下一阶段;Sink设定的初始Ta值较小,并先以指数方式增大Ta,之后以线性方式调整,可以快 速估算出所有节点都参与融合的最小单位时间;第二阶段步骤421、Sink根据应用设定单位融合等待时间Ta、融合精度P以及待查询的信 息,并广播D型通知;步骤422、簇头收到D型通知,解析出Ta和P的值,则根据Ieveli和Counti,计算出 本簇最长等待时间F1 (Ieveli) X Ta和预计参与融合的节点数「count, χ P~|,并广播D型通知;步骤423、簇头等待子簇和本簇节点信息;步骤424、如果等待时间到,执行步骤426,否则,执行步骤425 ;步骤425、如果簇头收到预计节点数据量,执行步骤426,否则,执行步骤423 ;步骤426、融合所接收到的节点信息,并报告给父簇;步骤427、Sink收到查询返回的信息。所述簇头Headi无法完成簇间数据传输,且簇内有效节点链表IL不为空时,涉及 簇头的轮换和父簇的更改,步骤51、如果簇头Headi能完成簇内数据传输,则在IL中加入自身信息;步骤52、簇头Headi选择簇内剩余节点中能量最大的节点j成为下一个簇头,并发 送E型通知,内容包括通知类型、簇编号k、簇所在层次level”待成为簇头的节点编号j、链 表IL和PL ;步骤53、节点收到E型通知,如果是本簇消息,则执行54 ;否则,丢弃;步骤54、如果节点编号为j,执行步骤55 ;否则,记录簇头节点号为j ;步骤55、节点 成为簇头,删除j节点本身,更新簇内节点列表IL ;步骤56、簇头Heac^在发送数据前计算剩余能量,如果IL为空,且能量只够发送一 次F型通知,执行步骤57 ;否则,执行58 ;
步骤57、簇头Heac^发送F型通知,内容包括通知类型、簇编号k,Headj所在簇Ck 失效,执行步骤59;步骤58、簇头Headj向父簇传送数据;步骤59、簇头收到F型通知,如果簇Ck记录在本簇头的PL中,执行步骤510 ;否则, 丢弃,执行步骤514;步骤510、如果Ck是当前簇C。的首选父簇,即PL头结点,执行步骤511 ;否则,执行 步骤513 ;步骤511、C。删除PL中Ck信息,如果PL不为空,选取下一个有效簇,并广播RB信 息,否则,广播F型通知,执行下一步;步骤512、如果C。簇内有效节点收到自己簇的F型通知,则节点停止工作;步骤513、Cc删除PL中Ck信息;步骤514、如果Ck记录在本簇头C。的CL中,执行步骤515 ;否则,丢弃;步骤515、Cc 删除 CL 中 Ck 信息,并修改 count。= countc-countk(c, k e
) 说明簇内节点在向簇头传送采集数据的同时,捎带上剩余能量,簇头据此更新IL链表,包 括删除未收到其数据的节点,以及更新链表节点Ei数据。有益效果本发明方法提出了一种无线传感器网络中的数据融合方法,旨在综合 利用现有融合算法的优点,解决其不足。评价一个融合算法的性能指标,除能源效率这个基 本指标外,还有时延和适应性,下面从这几方面说明本发明方法的效益1、节能效果较好整个无线传感器网络被划分为节点数目不等的簇,数据在簇内 以及簇头之间流动,融合为树上几条分支传送的数据,在数据采集和传输过程中采用一定 的融合方法,减少数据量,有效节省大部分能量。2、降低控制开销动态分簇机制具有控制开销较大的不足,采用静态分簇并设定 特定的簇半径,既能降低控制开销,延长网络生命周期。3、具有良好的适应性可根据上层服务对数据新鲜度和精度的需求动态设定融合 时间。对于新鲜度要求高的应用,可减少融合时间,相反对精度要求高的应用,可适当增大 融合时间。4、算法鲁棒性较好对簇集合建立融合树,减少树上节点,利于维护,且子簇保存 多个父簇信息,可在父簇失效时,及时更换父簇信息,尽可能保证网络连通。


图1网络节点初始分布情况,图2成簇情况,图3数据传输情况,图4成簇流程图,图5建树流程图,图6控制融合时延流程图,图7能耗模型
具体实施例方式图1给出了一个初始节点的分布示例,有100个编号NiG e (1,100))的节点随机 分布在400mX400m的平面区域内,Sink节点记为Ntl,位于80米处。图2是分簇后的情况, 如何分簇和选择簇头后面介绍。图3给出分簇后,数据如何在树上传输到Sink节点。第一步、网络初始化。在此阶段,按照固定半径将网络划分为节点数目不等的簇,每个簇有唯一编号 CiGe (1,100)),编号与首个簇头编号相同,簇编号用于簇间通信。本发明方法采用的能 耗模型如图7所示。能耗模型中发送端能耗由发送电子元件耗能和发射放大器耗能两部分 组成,接收端能耗接收电子元件产生。在无线电传输中信号能量的衰减与发送端和接收端 的距离d有关。当d彡Cltl时,能量的消耗与d2成正比,反之d彡Cltl时,与d4成正比。上述 的两种能量衰减模型分别称为自由空间模型(Free Space)和多径衰减模型(Multi-path Fading),d0代表二者的分界点。根据能耗模型,随着距离的变化传输Ibit的信息,发送节点的能耗可表示为ETx(d) = Erx_elec+Erx_omp{d)
"2
E 7 + ScA ’d < ch二 elec 4 公式(1)
E , +,d > do
、elec mp其中Eele。为节点电路的能量消耗系数,Sfs和^mp分别代表近、远距离功率衰减系 数,do 二 ^。不失一般性,Sfs = IOpJ · bit—1· m—2、emp = 0. 0013pJ · bit"1 · m"20 本发明
假定网络连通,是指相邻节点的每比特通信能耗不超过Etx(Cltl)。为保证簇内节点连通,以及 减小簇头之间通信能耗,本发明将簇半径设置为屯/2,即簇头以每比特Etx(CIciA)能耗广播 通知。具体初始化过程如下有六种通知类型Α,成簇通知;B,建树通知;C,调整融合时延通知;D,信息查询通 知;Ε,簇头轮换通知;F,父簇消亡通知。有两种回应消息RA,同意加入簇;RB,同意成为子簇;步骤1、Sink设定成簇等待的单位时间T,并广播A型通知;步骤2、节点Ni等待通知信息。步骤3、如果收到A型通知,则执行步骤4 ;否则,执行步骤2 ;步骤4、如果Ni已经加入某簇Cj,则不执行操作;否则,执行下一步;步骤5、Ni根据自身能量E,等待H (E) X T时间;步骤6、如果等待时间到,Ni未收到A型通知,则执行步骤7 ;否则,如果Ni收到Nj 发送的加入簇G的请求,则执行步骤8 ;步骤7、Ni以每比特Etx (d0/2)能耗广播自己成为簇头(Headi),请求距自己d。/2距 离以内的邻居加入簇Ci,之后执行步骤9 ;步骤8、队同意加入簇Cj,以每比特EJCU2)能耗发送RA回应,并以每比特E(dQ) 能量发送A型通知,执行步骤10 ;
步骤9、 收到簇Ci的加簇请求,同意加入簇Ci,并以每比特Etx (d0/2)能耗发送RA 回应,并以每比特E (d0)能耗发送A型通知,执行步骤10 ;步骤10、簇头HeadxE录同意加入本簇的节点编号k和能量Ek,并统计节点数 numx,建立簇内节点链表Inner Link (NL),该链表按节点能量排序;步骤11、簇头不再收到邻居节点的RA回应(通过设定超时实现),则以每比特 Etx (d0)能耗广播A型通知;步骤12、所有节点均已加入某簇,则执行13 ;否则,执行步骤2 ;步骤13、停止。上述步骤5中的H(E)是根据节点能量E,计算出节点等待邻居节点加簇请求的单 位时间数。节点能量越大,等待单位时间数越小,加大自己成为簇头的几率,且尽量避免冲 突。如果节点Ni和 能量相同且同时收到成簇通 知,发成冲突后,按照节点号重新计算等 待时间。如在网络部署时,节点的初始能量相同,则直接根据节点号设定等待时间。步骤11的目的是尽量防止有孤立节点的存在,即防止类似图2(b)中Nk的情况出现。第二步、建立融合树通过上面的分簇算法,得到相邻两簇之间的最大距离为3屯。因各节点位置和彼此 距离不确定,为确保所有簇头都加入融合树,本发明将簇头之间的每比特通信能耗设定为
Ejs (3 (Iq) Ο步骤1、Sink节点广播B型通知;步骤2、收到Ntl (Sink)节点的B型通知,簇头Headi将本簇所在层次Ieveli (i e [1, 100])记为1,并广播B型通知,内容包括通知类型、簇编号i、簇层次leveli、簇内节点总能 量五·及其能量方差值步骤3、簇头Head」。· e [1,100])等待B型通知。如果收到,则执行步骤4 ;否则, 停留在本步骤;步骤4、如果是子簇发送的B型通知,则丢弃;否则执行下一步;步骤Sdeadj计算本簇所在层次。如果比已记录的最小层次高两层以上,则丢弃, 否则,执行下一步;步骤6、Headj以链表(Parent Link, PL)记录父簇编号 ,Ε:、五和本簇所在 层次Ievelj = leveli+Ι,并统计父簇个数。Headj按£丨_对PL排序,相同,则按排序, 之后广播B型通知,执行下一步;步骤7、如果所有簇头不再收到父簇信息,执行步骤8,否则,执行步骤3;步骤8、簇头Headj向链表中首选父簇Ck发送RB消息,内容包括父簇编号k、以本 簇头为根的树上节点数countyj e [1,100])(本步骤从树的叶节点开始,向根节点逐层统 计);步骤9、簇头等待子簇RB消息;步骤KKHeadj收到Headx的RB消息,则在链表CL(Children Link)中记录子簇编 号 χ 禾口 Countx (χ e [1,100]),并修改 count」=numj+countx(j e
, χ e [1,100]);步骤11、所有簇头不再收到子簇RB消息,则停止,否则,执行步骤9。首选父簇的选择,由步骤2获得的£丨 ,和£%决定。£丨_值越大,说明簇采集和融合的能量越多,优先考虑成为父簇。坟Ji小说明簇内节点能量越平均,服务能力接近,在 相同时,优先考虑成为父簇。为较少控制开销,父簇链表PL和子簇链表IL确定后,只做链 表节点的删除,不做节点数据域的更新。第三步、控制融合等待时间,数据收集与融合。本步骤分为两个阶段。第一阶段,求出在所有节点参与数据融合时的单位时延。第 二阶段,根据上层应用对数据精度和新鲜度的要求,再设定每个簇的最大融合等待时间。第一阶段
步骤l、Sink设定融合等待单位时间Ta (根据经验设定)、融合精度P (此处P设定 为1)以及指数增大Ta的次数η (η值较小),并广播C型通知,内容包括通知类型、Ta和P ;步骤2、簇头Headi等待C型通知。收到,则执行步骤3 ;否则,停留在本步;步骤3、Headi解析出Ta和P,根据Ieveli和Counti (i e [1,100]),设定本簇最长 等待时间为F1 (Ieveli) X Ta和预计参与融合的节点数为「count, χ P],并广播C型通知;步骤4、等待子簇和本簇节点信息;步骤5、如果最长等待时间到,执行步骤7,否则,执行步骤6 ;步骤6、如果Headi收到预计节点数据量,执行步骤7,否则,执行步骤4 ;步骤7、向父簇报告以本簇头为树根的树上所有参与融合的节点数Coimtpi ;步骤8、Sink统计以自身为树根的树上参与融合的节点数Coimtptl ;步骤9、η减1。如果η不小于0,执行步骤10,否则,执行步骤12 ;步骤10、如果Coimtci与Coimtptl相同,则以线性方式减小Ta,并设定标志F为真,表 明count。与Coimtpci已达到相同;否则,执行下一步;步骤11、如果F标志为真,则以线性方式增大!;,执行步骤14;否则,以指数方式增 大!;,执行步骤1 ;步骤12、如果Coimtci与Coimtptl相同,则以线性方式减小Ta,执行步骤1 ;否则,执 行步骤13 ;步骤13、如果F标志为真,则以线性方式增大!;,执行步骤14 ;否则,以线性方式增 大!;,执行步骤1 ;步骤14、进入下一阶段。 Sink设定的初始Ta值较小,并先以指数方式增大Ta,之后以线性方式调整,可以快 速估算出所有节点都参与融合的最小单位时间。第二阶段步骤1、Sink根据应用设定单位融合等待时间Ta、融合精度P以及待查询的信息, 并广播D型通知;步骤2、簇头收到D型通知,解析出Ta和P的值,则根据Ieveli和Counti (i e [1, 100]),计算出本簇最长等待时间F1 (Ieveli) XTa和预计参与融合的节点数「count, XP^并 广播D型通知;步骤3、簇头等待子簇和本簇节点信息;步骤4、如果等待时间到,执行步骤6,否则,执行步骤5 ;步骤5、如果簇头收到预计节点数据量,执行步骤6,否则,执行步骤3;步骤6、融合所接收到的节点信息,并报告给父簇;
步骤7、Sink收到查询返回的信息;上述步骤中的F1是根据簇头所在层次计算出簇头融合等待的单位时间数,此函数 值随着层次增大而指数递减。簇头Headi无法完成簇间数据传输,且簇内有效节点链表IL不为空时,涉及簇头 的轮换和父簇的更改。步骤1、如果簇头Headi能完成簇内数据传输,则在IL中加入自身信息;步骤2、簇头Headi选择簇内剩余节点中能量最大的节点j成为下一个簇头,并发 送E型通知,内容包括通知类型、簇编号k、簇所在层次level”待成为簇头的节点编号j、链 表IL和PL ;
步骤3、节点收到E型通知,如果是本簇消息,则执行4 ;否则,丢弃;步骤4、如果节点编号为j,执行步骤5 ;否则,记录簇头节点号为j ;步骤5、节点 成为簇头,删除j节点本身,更新簇内节点列表IL ;步骤6、簇头Heac^在发送数据前计算剩余能量,如果IL为空,且能量只够发送一 次F型通知,执行步骤7 ;否则,执行8 ;步骤7、簇头Headj发送F型通知,内容包括通知类型、簇编号k (Headj所在簇Ck失 效),执行步骤9;步骤8、簇头Headj向父簇传送数据;步骤9、簇头收到F型通知。如果簇Ck记录在本簇头的PL中,执行步骤10 ;否则, 丢弃,执行步骤14;步骤10、如果Ck是当前簇C。的首选父簇(即PL头结点),执行步骤11 ;否则,执 行步骤13 ;步骤11、Cc删除PL中Ck信息。如果PL不为空,选取下一个有效簇,并广播RB信 息,否则,广播F型通知,执行下一步;步骤12、如果Cc簇内有效节点收到自己簇的F型通知,则节点停止工作;步骤13、Cc删除PL中Ck信息;步骤14、如果Ck记录在本簇头C。的CL中,执行步骤15 ;否则,丢弃;步骤15、Cc 删除 CL 中 Ck 信息,并修改 count。= countc_countk (c,k e
) 说明簇内节点在向簇头传送采集数据的同时,捎带上剩余能量。簇头据此更新IL链表(包括删除未收到其数据的节点,以及更新链表节点Ei数据)。
权利要求
一种无线传感器网络中的数据融合方法,其特征在于该方法具体包括步骤一、网络初始化,N个节点有唯一编号,被随机部署在面积为S的平面区域中,节点之间距离未知,但假定网络连通,Sink发起建簇通知后,节点被划分到半径相同的簇内,簇有唯一标号;步骤二、由Sink发起融合树的建立通知,确定簇头之间父子关系,建立子簇链表和父簇链表,首选父簇的选择,由簇内节点能量总和和能量方差决定,值越大,说明该簇能服务的时间越长,优先考虑成为父簇;越小说明簇内节点能量越平均,服务能力越接近,在相同时,优先考虑成为父簇;步骤三、控制融合时间、数据收集与融合;步骤31)、求出所有节点参与融合时的单位时延Ta,Sink设定的初始Ta值较小,然后先以指数方式增大Ta,之后以线性方式调整,快速估算出所有节点都参与融合的最小单位时间;步骤32)、根据应用需求设定Ta和融合精度P,每个簇头根据所在层次leveli和Ta计算出本簇融合等待时间Ti,并根据P计算出需要参加融合的节点数Ci;步骤33)、数据收集、融合与传输,最终到达Sink节点,如果等待时间到或者本簇收到Ci个节点采集的数据,簇头将数据融合后传送给父簇。FSA00000123239100011.tif,FSA00000123239100012.tif,FSA00000123239100013.tif,FSA00000123239100014.tif,FSA00000123239100015.tif
2.根据权利要求1所述的无线传感器网络中的数据融合方法,其特征在于所述步骤一 中的网络初始化具体为有六种通知类型A型通知-成簇通知;B型通知-建树通知;C,调整融合时延通知;D, 信息查询通知;E,簇头轮换通知;F,父簇消亡通知;有两种回应消息RA回应_同意加入簇;RB回应-同意成为子簇; 步骤1、Sink设定成簇等待的单位时间T,并广播A型通知; 步骤2、节点队等待通知信息;步骤3、如果收到A型通知,则执行步骤4 ;否则,执行步骤2 ; 步骤4、如果队已经加入某簇Cj,则不执行操作;否则,执行下一步; 步骤5、队根据自身能量E,等待H (E) X T时间;步骤6、如果等待时间到,队未收到A型通知,则执行步骤7 ;否则,如果队收到 发送 的加入簇G的请求,则执行步骤8 ;步骤7為以每比特ETx(dQ/2)能耗广播自己成为簇头Heady请求距自己d。/2距离以内 的邻居加入簇C”之后执行步骤9 ;步骤8為同意加入簇Cj,以每比特EJCU2)能耗发送RA回应,并以每比特EW》能量 发送A型通知,执行步骤10;步骤9、 收到簇Q的加簇请求,同意加入簇Q,并以每比特E^dW)能耗发送RA回 应,并以每比特E (d0)能耗发送A型通知,执行步骤10 ;步骤10、簇头Headx记录同意加入本簇的节点编号k和能量Ek,并统计节点数numx,建 立簇内节点链表Inner Link (NL),该链表按节点能量排序;步骤11、簇头通过设定超时实现,不再收到邻居节点的RA回应,则以每比特EtJcU能 耗广播A型通知;步骤12、所有节点均已加入某簇,则执行13 ;否则,执行步骤2 ; 步骤13、停止。
3.根据权利要求1所述的无线传感器网络中的数据融合方法,其特征在于所述步骤二 中建立融合树的方法具体为步骤31、Sink节点广播B型通知;步骤32、收到队-Sink节点的B型通知,簇头Headi将本簇所在层次leve、记为1,并 广播B型通知,内容包括通知类型、簇编号i、簇层次level”簇内节点总能量£_及其能量 方差值,i = G [1,100];步骤33、簇头Heac^等待B型通知,如果收到,则执行步骤4 ;否则,停留在本步骤;j = G [1,100];步骤34、如果是子簇发送的B型通知,则丢弃;否则执行下一步; 步骤35、Head」计算本簇所在层次。如果比已记录的最小层次高两层以上,则丢弃,否 则,执行下一步;步骤36、Headj以链表“Parent Link, PL”记录父簇编号i,E:_、五和本簇所在层次 level」=level.+l,并统计父簇个数;Head」按对PL排序,五^相同,则按排序,之后 广播B型通知,执行下一步;步骤37、如果所有簇头不再收到父簇信息,执行步骤8,否则,执行步骤3 ; 步骤38、簇头Head」向链表中首选父簇Ck发送RB回应,内容包括父簇编号k、以本簇头 为根的树上节点数coim、;本步骤从树的叶节点开始,向根节点逐层统计; 步骤39、簇头等待子簇RB回应;步骤310、Headj收到Headx的RB回应,则在链表CL_Children Link中记录子簇编号x 禾口 countx,并修改 count j = numj+countx步骤311、所有簇头不再收到子簇RB回应,则停止,否则,执行步骤9。
4.根据权利要求1所述的无线传感器网络中的数据融合方法,其特征在于所述步骤三 中控制融合时间的方法具体为本步骤分为两个阶段。第一阶段,求出在所有节点参与数据融合时的单位时延,第二阶 段,根据上层应用对数据精度和新鲜度的要求,再设定每个簇的最大融合等待时间; 第一阶段步骤41、根据经验Sink设定融合等待单位时间!;、融合精度P= 1,以及指数增大八的 次数n,并广播C型通知,内容包括通知类型、Ta和P ;步骤42、簇头Headi等待C型通知,收到,则执行步骤43 ;否则,停留在本步; 步骤43、彻£1屯解析出Ta*P,根据leveli*^ 、i G [1,100],设定本簇最长等待 时间为& (level,) XTa和预计参与融合的节点数为「count, x P],并广播C型通知; 步骤44、等待子簇和本簇节点信息;步骤45、如果最长等待时间到,执行步骤47,否则,执行步骤46 ; 步骤46、如果Headi收到预计节点数据量,执行步骤47,否则,执行步骤44 ; 步骤47、向父簇报告以本簇头为树根的树上所有参与融合的节点数Coimtpi ; 步骤48、Sink统计以自身为树根的树上参与融合的节点数COuntp(l ;步骤49、n减1,如果n不小于0,执行步骤410,否则,执行步骤412 ; 步骤410、如果coim、与COimtp(1相同,则以线性方式减小Ta,并设定标志F为真,表明 count。与COuntp(1已达到相同;否则,执行下一步;步骤411、如果F标志为真,则以线性方式增大!;,执行步骤414 ;否则,以指数方式增大 Ta,执行步骤41 ;步骤412、如果coim、与COimtp(1相同,则以线性方式减小Ta,执行步骤41 ;否则,执行 步骤413 ;步骤413、如果F标志为真,则以线性方式增大!;,执行步骤414 ;否则,以线性方式增大 Ta,执行步骤41 ;步骤414、进入下一阶段;Sink设定的初始Ta值较小,并先以指数方式增大Ta,之后以线性方式调整,可以快速估 算出所有节点都参与融合的最小单位时间; 第二阶段步骤421、Sink根据应用设定单位融合等待时间Ta、融合精度P以及待查询的信息,并 广播D型通知;步骤422、簇头收到D型通知,解析出Ta和P的值,则根据leveli和coimti,计算出本簇最长等待时间Fjleveli) XTa和预计参与融合的节点数「counti xP"|,并广播D型通知;步骤423、簇头等待子簇和本簇节点信息;步骤424、如果等待时间到,执行步骤426,否则,执行步骤425 ;步骤425、如果簇头收到预计节点数据量,执行步骤426,否则,执行步骤423 ;步骤426、融合所接收到的节点信息,并报告给父簇;步骤427、Sink收到查询返回的信息。
5.根据权利要求1所述的无线传感器网络中的数据融合方法,其特征在于所述簇头 Headi无法完成簇间数据传输,且簇内有效节点链表IL不为空时,涉及簇头的轮换和父簇的 更改,步骤51、如果簇头Headi能完成簇内数据传输,则在IL中加入自身信息; 步骤52、簇头Headi选择簇内剩余节点中能量最大的节点j成为下一个簇头,并发送 E型通知,内容包括通知类型、簇编号k、簇所在层次level”待成为簇头的节点编号j、链表 IL 禾口 PL ;步骤53、节点收到E型通知,如果是本簇消息,则执行54 ;否则,丢弃; 步骤54、如果节点编号为j,执行步骤55 ;否则,记录簇头节点号为j ; 步骤55、节点 成为簇头,删除j节点本身,更新簇内节点列表IL ; 步骤56、簇头Heac^在发送数据前计算剩余能量,如果IL为空,且能量只够发送一次F 型通知,执行步骤57 ;否则,执行58 ;步骤57、簇头Heac^发送F型通知,内容包括通知类型、簇编号k,Headj所在簇Ck失效, 执行步骤59 ;步骤58、簇头Head」向父簇传送数据;步骤59、簇头收到F型通知,如果簇Ck记录在本簇头的PL中,执行步骤510 ;否则,丢 弃,执行步骤514;步骤510、如果Ck是当前簇C。的首选父簇,即PL头结点,执行步骤511 ;否则,执行步骤513 ;步骤511、C。删除PL中Ck信息,如果PL不为空,选取下一个有效簇,并广播RB信息,否 则,广播F型通知,执行下一步;步骤512、如果C。簇内有效节点收到自己簇的F型通知,则节点停止工作; 步骤513、C。删除PL中Ck信息;步骤514、如果Ck记录在本簇头C。的CL中,执行步骤515 ;否则,丢弃; 步骤 515、Cc 删除 CL 中 Ck 信息,并修改 count。= countc-countk(c, k G
) 说明簇内节点在向簇头传送采集数据的同时,捎带上剩余能量,簇头据此更新IL链 表,包括删除未收到其数据的节点,以及更新链表节点Ei数据。
全文摘要
一种无线传感器网络中的数据融合方法是无线传感器网络中基于树和控时的数据融合方法(TBTCDATree-Based and Time-Controlled Data Aggregation),在节点位置信息不确定的情况下,进行数据融合,以达到减少网络通信量和节点能耗的目的,并权衡数据融合精度与通信时延之间的矛盾,该方法具体包括步骤一、网络初始化,步骤二、由Sink发起融合树的建立通知,步骤三、控制融合时间、数据收集与融合;步骤31)、求出所有节点参与融合时的单位时延Ta,步骤32)、根据应用需求设定Ta和融合精度P,或者本簇收到Ci个节点采集的数据,簇头将数据融合后传送给父簇。
文档编号H04W40/10GK101835237SQ20101017366
公开日2010年9月15日 申请日期2010年5月14日 优先权日2010年5月14日
发明者凡高娟, 叶宁, 孙力娟, 宋立森, 沙超, 王汝传, 肖甫, 郭剑, 马守明, 黄小桑, 黄海平 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1