CN104185191B - 基于多重数据收集二叉树的无线传感网数据收集方法 - Google Patents
基于多重数据收集二叉树的无线传感网数据收集方法 Download PDFInfo
- Publication number
- CN104185191B CN104185191B CN201410423902.6A CN201410423902A CN104185191B CN 104185191 B CN104185191 B CN 104185191B CN 201410423902 A CN201410423902 A CN 201410423902A CN 104185191 B CN104185191 B CN 104185191B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- network
- data collection
- tree
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种基于多重二叉树的无线传感网数据收集方法,在随机部署的无线传感网中,首先将网络中最为接近的若干节点组织成一个区域,并在每个区域中择优选取节点,分别构建到达基站的多个备选数据收集二叉树,较好地适应了网络的动态变化,增强了数据收集的鲁棒性;随后,本发明实现了基于节点数的时间片轮转数据收集机制,有效降低了数据收集过程中的冲突发生率,提升了数据收集效率;最后,本发明同时还采用了周期性重构数据收集树的策略,有效提升了网络的适应性。
Description
技术领域
本发明涉及一种无线传感网高效的树状数据收集方法,属于计算机网络与无线通信技术的交叉领域。
背景技术
在科学技术飞速发展的今天,具有智能感知、自主组网、多跳传输能力的无线传感网(Wireless Sensor Networks,WSN)技术,逐渐成为国内外科技界研究的热点。作为计算机技术、无线通信技术、嵌入式设计技术、微电子技术等多学科的交叉技术,无线传感网技术不仅拓展了人们获取信息的能力和手段,更为重要的是,它将客观世界的物理信息同传输网络紧密连接在了一起,为人们的生产生活提供了极为丰富的有益信息,大大提升了人们的生活质量和工作效率。
另一方面,随着大数据理论和技术的发展,“数据收集”问题逐渐引起了人们的重视。如何利用现有的各类感知设备,高效率、高可靠、绿色节能地收集海量的、多样化的感知数据,正在称为制约无线传感网技术发展和应用最为关键和核心的技术之一。
然而,当前无线传感网面临着网络不稳定、拓扑结构易变化、节点位置信息缺乏、通信质量差、节点能耗较高等问题。这些问题直接或间接地导致了网络整体数据收集效率的低下,并造成了诸如数据完整性缺失、数据丢包率居高不下、数据收集路径鲁棒性较差及数据收集结构无法适应网络的动态变化等问题,严重影响了基于数据内容的信息提取和决策。
众所周知,无线传感网已经并将继续拥有广阔的应用场景,在军事国防、工农业控制、城市管理、生物医疗、环境监测、抢险救灾、智能家居、智能电网等众多领域,有足够的用武之地。而上述应用场景和应用领域中,需要考虑的首要问题,无一例外,都将是数据收集问题。因此,本发明对于无线传感网应用的有效开展,具有十分积极的意义。
发明内容
鉴于此,本发明提出一种基于多重二叉树的无线传感网数据收集方法,将簇状区域划分方法与树状路径传输方法相结合,构造多棵备选数据收集二叉树,并在此基础上,实现基于数据收集量的时间片轮转数据收集方法。该发明通过多重数据收集二叉树的构建,可提升网络的健壮性,降低数据包丢包率,同时,也能够较好地适应网络的动态变化,如节点的失效、节点的加入等,实现高效数据收集。
该种基于多重二叉树的无线传感网数据收集方法,在随机部署的无线传感网中,首先将网络中最为接近的若干节点组织成一个区域,并在每个区域中择优选取节点,分别构建到达基站的多个备选数据收集二叉树,较好地适应了网络的动态变化,增强了数据收集的鲁棒性;随后,本发明实现了基于节点数的时间片轮转数据收集机制,有效降低了数据收集过程中的冲突发生率,提升了数据收集效率;最后,本发明同时还采用了周期性重构数据收集树的策略,有效提升了网络的适应性。
本发明的技术解决方案是:
一种基于多重数据收集二叉树的无线传感网数据收集方法,
利用随机部署的无线传感网节点,通过最近邻居节点探寻、网络区域建立、节点自定位、多重数据收集二叉树建立,形成多个备选的数据收集路径结构,并在此基础上,利用基于节点数的时间片轮转策略和面向网络动态变化的数据收集树重构,实现无线传感网络的数据收集。
进一步地,具体为:
步骤1:在矩形平面网络中,部署n个无线传感网节点,其中,含有存在若干个已知其自身位置信息的信标节点,基站位于网络外围边缘处;
步骤2:网络中的各节点,以广播的方式,找寻距离自己最近的邻居节点,并分布式地构建网络区域;
步骤3:网络中的所有非孤立的非信标节点自组织地完成自身位置信息的确定工作;
步骤4:从基站开始,建立第一棵备选数据收集二叉树;
步骤5:从基站开始,建立第二棵备选数据收集二叉树;
步骤6:根据步骤4和步骤5中的具体规则,从基站开始,继续建立第三棵、第四棵……直至第k棵备选数据收集二叉树,k的值可根据网络规模和网络数据传输量决定;
步骤7:基站根据其所建立的k棵备选数据收集二叉树的结构情况,选择一棵节点数最多的树,作为“数据收集树”;若符合条件的备选数据收集树有多棵,则选择树中节点平均传输距离最短的一棵,作为“数据收集树”;
步骤8:利用步骤7中被选中的“数据收集树”,开始基于时间片轮转的数据收集过程;
步骤9:当步骤7和步骤8中被选择的数据收集树中的节点因能耗过大而造成数据收集树断连时,将向基站进行通告,由基站从其它尚未被选中的备选数据收集树中,按照步骤7的规则,选择一棵,作为新的数据收集树,并按照步骤8的规则,重新建立时间片轮转的数据收集策略;同时,原数据收集树作废;
步骤10:在网络运行了γ个周期或当网络中出现了新节点后,由基站发起重构“备选数据收集二叉树”的命令,并转步骤4,开始新一轮数据收集二叉树的构建。
进一步地,步骤2中网络区域的构建为:
步骤2-1:网络中的各节点以其在收发状态下的最小功率Pmin,分布式地广播包含自身ID号的数据包;同时,开启其内部计时器,定义计时器阈值为T;
步骤2-2:在T时间内,若当前节点收到了一个及以上不同ID号的节点发来的数据包,则根据其到来时的信号强度大小,选择信号强度最大的一个节点为其“最近邻居点”,转步骤2-3;若信号强度最大的邻居节点不止一个,则当前节点选择最先到达的数据包的ID号为其“最近邻居点”,转步骤2-3;若在T时间内,当前节点没有收到任何数据包,则转步骤2-4;
步骤2-3:当前节点向其“最近邻居点”发送一个确认包,并将该“最近邻居节点”ID号置入其缓存中,转步骤2-6;
步骤2-4:若当前节点的发送功率P小于该节点所允许的最大发送功率Pmax,则当前节点增大其发送功率P后,重新广播包含其自身ID号的数据包,同时,再次开启其内部计时器,并设其阈值为T,转步骤2-2;否则,转步骤2-5;
步骤2-5:当前节点无法连通网络中的其它任何节点,此时,将当前节点标记为孤立节点;孤立节点将不再参与网络后续运行;
步骤2-6:收到确认包的节点将发来确认包的源节点的ID号置入其缓存中,同时,在网络中的所有非孤立节点与其“最近邻居节点”间,建立可达链路;此时,网络将形成多个簇状拓扑结构,将每个簇状拓扑定义为一个区域。
进一步地,步骤3具体为:
步骤3-1:网络中的所有非孤立的信标节点,以其最大发送功率Pmax广播包含其ID号和其坐标信息的数据包;同时,网络中的所有非孤立的非信标节点将其自身设置为接收状态,以接收非孤立的信标节点的广播包;
步骤3-2:若非孤立的非信标节点,收到3个或3个以上不同ID号的信标节点发送的广播包,则利用极大似然估计法,估算自身的坐标值,并转步骤3-3;否则转步骤3-4;
步骤3-3:对于已经完成坐标值估算的非信标节点,若参与其坐标值估算的信标节点数大于5,或该非信标节点所估算出的坐标值与参与其坐标估算的所有信标节点所形成的多边形的质心的坐标值误差小于某一阈值时,则认为该非信标节点所估算出的坐标值可信,将该非信标节点标记为“可信节点”;同时,以其最大发送功率Pmax广播包含其ID号和其坐标信息的数据包;
步骤3-4:若非孤立的非信标节点虽未能收到3个或3个以上不同ID号的信标节点发送的广播包,但却能够收到3个或3个以上信标节点加“可信节点”的广播包,则其仍可利用极大似然估计法,估算出自身的坐标值;否则,认为该节点无法完成对其自身坐标值的估算;
步骤3-5:将网络中所有非孤立的信标节点和最终完成坐标值估计的非信标节点标记为“数据收集点”,以便其参与后续的多重数据融合树的构建;最终无法完成坐标值估计的非孤立节点,将仅在后续步骤中参与数据传输,不参与多重数据融合树的构建;
步骤3-6:网络中所有的“数据收集点”将自身的坐标信息,以多跳传递的方式,反馈给基站。
进一步地,步骤4具体为:
步骤4-1:基站根据其所掌控的网络内所有“数据收集点”的坐标情况,选择平均距离与自身最近的一个区域,作为将要建立的备选数据收集二叉树的第一层区域;
步骤4-2:基站在步骤4-1所选择的区域中,选择一个距离自身最近的“数据收集点”,作为基站的直接子节点,并将其标记为第一棵备选数据收集二叉树的根节点,同时,基站同该节点建立点到点的连接;
步骤4-3:第一棵备选数据收集二叉树的根节点进行广播探寻,利用各节点的自身坐标,计算并找寻出距离其自身最近的两个区域;同时,根节点分别在这两个区域中,各找寻一个距离其自身最近的“数据收集点”,并分别作为其左孩子和右孩子,建立到达它们的连接;
步骤4-4:左右两个孩子节点分别进行广播探寻,利用各节点的自身坐标,计算并找寻出距离各自最近的两个区域,且这些区域还需满足以下条件,即任何一个区域中的数据收集点距离基站的平均距离,均大于等于当前节点所在区域中的所有数据收集点到达基站的平均距离;
步骤4-5:步骤4-4中的左右两个孩子节点,分别选择其所找寻到的区域中,距离自身最近的两个数据收集点,作为自己的左右孩子节点,并建立到达它们的连接;
步骤4-6:步骤4-5中被选中的节点重复地按照步骤4-4和4-5的规则,选择其自身的左右孩子节点,并建立到达它们的连接,直到没有符合要求的区域或没有符合要求的孩子节点为止;此时,第一棵备选数据收集二叉树建立完成;步骤4-6终止时,网络中的某些区域有可能未被选中,称这样的区域为“失联区域”。
进一步地,步骤5具体为:
步骤5-1:基站在步骤4-1所选出的第一层区域中,选择距离其自身次近的一个数据收集点,作为其所建立的第二棵备选数据收集二叉树的根节点;同时,基站同该节点建立点到点的连接;
步骤5-2:第二棵备选数据收集二叉树的根节点进行广播探寻,利用各节点的自身坐标,计算并找寻出距离其自身最近的两个区域;同时,该根节点分别在这两个区域中,各找寻一个距离其自身最近且尚未被其它备选数据收集二叉树选中的“数据收集点”,分别作为其左孩子和右孩子,建立到达它们的连接;
步骤5-3:步骤5-2中的左右两个孩子节点分别进行广播探寻,按照步骤4-4中的方法各自选择两个区域;
步骤5-4:步骤5-2中的左右两个孩子节点,分别选择其所找寻到的区域中,距离自身最近且尚未被其它的备选数据收集二叉树选中的两个数据收集点,作为自己的左右孩子节点,并建立到达它们的连接;
步骤5-5:步骤5-4中被选中的节点重复地按照步骤5-3和5-4的规则,选择其自身的左右孩子节点,并建立到达它们的连接,直到没有符合要求的区域或没有符合要求的孩子节点为止;此时,第二棵备选数据收集二叉树建立完成;步骤5-5终止时,网络中原本存在的“失联区域”有可能被重新选中,此时,取消其“失联区域”的标记。
进一步地,步骤8具体为:
步骤8-1:数据收集树中各节点获取其所在区域的节点数量信息Si,节点数量包含其自身在内,其中,i代表区域编号;
步骤8-2:数据收集树中的各节点将其Si的值,通过多跳方式上报给基站,在上报过程中,各父节点需保存一份其所有直接子节点和间接子节点的Si值的副本;
步骤8-3:计算网络中各区域在一个数据收集周期内所耗费的总时间。设定网络中的各节点在一个数据收集周期内,耗费在其自身数据收集过程中的时间均为t,且忽略区域内节点之间的数据传输,并设定相邻区域间数据传输的时间为τ;则对于该数据收集树中的任意一个叶节点所在的区域i,其在一个数据收集周期内,完成数据收集和传输的总时间为Ti=Si×t+τ;
步骤8-4:根据步骤8-3所计算出的时间,设定网络中各区域数据收集周期长度;对于数据收集树中的任一叶节点a所在的区域i,根据步骤8-3,分配给该区域的时间片Ti=Si×t+τ;而对于数据收集树中的任一中间节点b所在的区域j,分配给该区域的时间片长度Tj的大小,等于区域j自身进行数据收集和传输所需时间Sj×t+τ,加上节点b的所有直接和间接孩子节点所属区域进行数据收集及数据传输所耗费的时间总和;
令节点b的孩子节点所属的各个区域中的节点个数分别为Q1,Q2,…Qq;其中,q为b的孩子节点总数;则根据步骤8-3中的条件及二叉树的性质可知,其中,是节点b的所有直接和间接孩子节点所属区域进行数据收集及数据传输所耗费的时间总和;
步骤8-5:根据步骤8-4,则网络完成一次数据收集所需时间为其中h为步骤7中所选中的数据收集树中的节点总数;T即一个数据收集周期,而Ti则是在一个数据收集周期内,分配给各个区域的时间片长度;于是,网络在一个数据收集周期内,按照上述时间片进行轮转,最终在T时间内,完成一次数据收集。
本发明具备如下有益成果:
第一,构建多个备选的数据收集二叉树,可较好地适应网络的动态变化,增强数据收集的鲁棒性;
第二,将网络中最为接近的若干节点组织成一个区域,并在每个区域中选取一个节点作为数据收集二叉树中的节点,有效节约了数据收集能耗;
第三,采用基于节点数的时间片轮转方式进行数据收集,有效降低了数据收集过程中的冲突发生率,提升了数据收集效率;
第四,采用了周期性重构数据收集树的策略,有效提升了网络的适应性。
附图说明
图1是网络初始部署的示意图;
图2是无线传感网确保感知覆盖的最大密度部署情况的说明示意图;
图3是无线传感网确保感知覆盖的最小密度部署情况的说明示意图;
图4是寻找最近邻居节点并形成分区的说明示意图;
图5是符合定位条件的非信标节点完成定位的说明示意图;
图6是利用“升级”后的节点完成定位的说明示意图;
图7是建立第一棵备选数据收集二叉树的说明示意图;
图8是建立第二棵备选数据收集二叉树的说明示意图;
图9是建立第三棵备选数据收集二叉树的说明示意图;
图10是被选中的数据收集树及其时间片轮转的说明示意图;
图11是第一棵数据收集树失效后重新选择数据收集树的说明示意图;
图12是有节点失效或新节点加入后进行重构的备选数据收集树的说明示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例提供了一种基于基于多重二叉树的数据收集方法,分别通过最近邻居节点探寻、网络区域建立、节点自定位、多重数据收集二叉树建立、基于时间片轮转的数据收集和面向网络动态变化的数据收集树重构等过程,实现高效、稳定、节能的无线传感网数据收集过程。其具体的发明内容主要包括如下六个阶段。
第一阶段:网络部署阶段。在该阶段中,本发明在矩形网络中,部署固定密度的无线传感网节点。为了同时满足网络的感知覆盖条件,本发明给出了最佳节点部署密度的计算方法;
第二节点:网络区域划分阶段。在该阶段中,网络中的各节点以自组织方式,找寻距离自己最近的邻居节点,并建立到达该邻居节点的双向连接。由于本发明仅需每个节点连接至距离其最近的邻居节点,无形中降低了节点的通信能耗开销。该阶段结束后,网络将被划分为若干个独立的区域;
第三阶段:网络中节点自定位阶段。为了在建立多重数据收集二叉树时找寻到任意两个节点间的距离,需要首先对网络中的节点进行定位。在本阶段中,以信标节点广播,非信标节点接收含坐标的广播信息的方式进行测距,并利用极大似然估计法实现定位。而对于无法获取到足够信标节点信息的非信标节点,本阶段采用定位结果精度较高的已定位节点“升级”的方式,对其进行定位;
第四阶段:多棵备选的数据收集二叉树的建立阶段。在该阶段,基站分别发起若干次“建树”过程。每次“建树”过程均在每个区域中找寻一个距离正在构建的数据收集二叉树最近的节点,并将其加入到数据收集树中,以确保所建立的数据收集树中节点间的整体通信距离较短,从而节省数据收集和传输过程中的能耗;
第五阶段:基于时间片轮转的数据收集阶段。在该阶段,基站选择一棵覆盖面最广的数据收集树,并根据树中各节点所在区域及其直接和间接子节点所在区域中的节点个数,制定针对各区域和数据收集树中各节点的时间片。基站负责网络整体时间片的轮转。网络中所有节点及其所在区域,以时间片轮转的方式,开始周期性地数据收集过程;
第六阶段:面向网络动态变化的数据收集路径重构节点。在该阶段,本发明针对数据收集树中的失效节点以及网络中新加入的节点,提出了周期性地更新和重构多重数据收集二叉树的过程,以提升本发明的鲁棒性和适应性,进一步提升数据收集的效率。
实施例的具体步骤如下:
步骤1:在长宽分别为M和N的矩形平面网络中,部署n个无线传感网节点(以下简称为“节点”)。n=M×N×ρ,且这n个节点中,存在若干个已知其自身位置信息的信标节点。基站位于网络外围边缘处,如图1所示,其中,标注了黑色圆心的节点为信标节点。ρ为网络中所部署的节点密度。根据已有理论,在全向无线传感器网络中,为确保完全覆盖,需要部署的最大和最小节点密度分别为和分别如图2和图3所示,r为节点的感知半径。故这里定义ρ=(ρmax+ρmin)/2。
步骤2:网络中的各节点,以广播的方式,找寻距离自己最近的邻居节点,并分布式地构建网络区域。其具体步骤为:
步骤2-1:网络中的各节点以其在收发状态下的最小功率Pmin,分布式地广播包含自身ID号的数据包。同时,开启其内部计时器,定义计时器阈值为T;
步骤2-2:在T时间内,若当前节点收到了一个及以上不同ID号的节点发来的数据包,则根据其到来时的信号强度大小,选择信号强度最大的一个节点为其“最近邻居点”,转步骤2-3;若信号强度最大的邻居节点不止一个,则当前节点选择最先到达的数据包的ID号为其“最近邻居点”,转步骤2-3;若在T时间内,当前节点没有收到任何数据包,则转步骤2-4;
步骤2-3:当前节点向其“最近邻居点”发送一个确认包,并将该“最近邻居节点”ID号置入其缓存中,转步骤2-6;
步骤2-4:若当前节点的发送功率P小于该节点所允许的最大发送功率Pmax,则当前节点增大其发送功率P后,重新广播包含其自身ID号的数据包,同时,再次开启其内部计时器,并设其阈值为T,转步骤2-2;否则,转步骤2-5;
步骤2-5:当前节点无法连通网络中的其它任何节点,此时,将当前节点标记为孤立节点,如图4中的节点A。孤立节点将不再参与网络后续运行;
步骤2-6:收到确认包的节点将发来确认包的源节点的ID号置入其缓存中,同时,在网络中的所有非孤立节点与其“最近邻居节点”间,建立可达链路。此时,网络将形成多个簇状拓扑结构,如图4所示。将每个簇状拓扑定义为一个区域。
步骤3:网络中的所有非孤立的非信标节点自组织地完成自身位置信息的确定工作。其具体步骤为:
步骤3-1:网络中的所有非孤立的信标节点,以其最大发送功率Pmax广播包含其ID号和其坐标信息的数据包。同时,网络中的所有非孤立的非信标节点将其自身设置为接收状态,以接收非孤立的信标节点的广播包;
步骤3-2:若非孤立的非信标节点,收到3个或3个以上不同ID号的信标节点发送的广播包,则利用极大似然估计法,估算自身的坐标值,并转步骤3-3,如图5中的节点B,图5中的虚线箭头代表信标节点的广播包到达节点B;否则转步骤3-4;
步骤3-3:对于已经完成坐标值估算的非信标节点,若参与其坐标值估算的信标节点数大于5,或该非信标节点所估算出的坐标值与参与其坐标估算的所有信标节点所形成的多边形的质心的坐标值误差小于某一阈值时,则认为该非信标节点所估算出的坐标值可信,将该非信标节点标记为“可信节点”。同时,以其最大发送功率Pmax广播包含其ID号和其坐标信息的数据包。此步骤的目的在于,将精度较高的已定位节点,临时“升级”为信标节点,以便让更多的节点完成定位,如图6中的节点B,假设B点符合“升级”的条件,则此时B的广播包可到达图6中的C、D、E、F等非信标节点;
步骤3-4:若非孤立的非信标节点虽未能收到3个或3个以上不同ID号的信标节点发送的广播包,但却能够收到3个或3个以上信标节点加“可信节点”的广播包,则其仍可利用极大似然估计法,估算出自身的坐标值。如图6中的节点C,尽管其仅能够收到G、H等两个信标节点的广播包,但却还可以收到已定位的节点B的广播包,满足定位条件,可以完成定位;否则,认为该节点无法完成对其自身坐标值的估算;
步骤3-5:将网络中所有非孤立的信标节点和最终完成坐标值估计的非信标节点标记为“数据收集点”,以便其参与后续的多重数据融合树的构建;最终无法完成坐标值估计的非孤立节点,将仅在后续步骤中参与数据传输,不参与多重数据融合树的构建;
步骤3-6:网络中所有的“数据收集点”将自身的坐标信息,以多跳传递的方式,反馈给基站。
步骤4:从基站开始,建立第一棵备选数据收集二叉树。其具体步骤为:
步骤4-1:基站根据其所掌控的网络内所有“数据收集点”的坐标情况,选择平均距离与自身最近的一个区域,作为将要建立的备选数据收集二叉树的第一层区域,如图7中的区域1。
步骤4-2:基站在步骤4-1所选择的区域中,选择一个距离自身最近的“数据收集点”,作为基站的直接子节点,并将其标记为第一棵备选数据收集二叉树的根节点,同时,基站同该节点建立点到点的连接,如图7中的节点I,为显著标示,标注其为灰色。
步骤4-3:第一棵备选数据收集二叉树的根节点进行广播探寻,利用各节点的自身坐标,计算并找寻出距离其自身最近的两个区域,如图7中的区域2和区域3。同时,根节点分别在这两个区域中,各找寻一个距离其自身最近的“数据收集点”,并分别作为其左孩子和右孩子,如图7中的节点J和节点B,建立到达它们的连接,在图7中,以黑色粗实线表示;
步骤4-4:左右两个孩子节点分别进行广播探寻,利用各节点的自身坐标,计算并找寻出距离各自最近的两个区域,且这些区域还需满足以下条件,即任何一个区域中的数据收集点距离基站的平均距离,均大于等于当前节点所在区域中的所有数据收集点到达基站的平均距离。如图7所示,区域4和区域5为距离节点J最近的两个区域,且区域4和区域5中的数据收集点距离基站的平均距离大于节点J所在的区域2中的所有数据收集点到达基站的平均距离,而区域6和区域7则是符合上述条件的距离节点B最近的两个区域;
步骤4-5:步骤4-4中的左右两个孩子节点,分别选择其所找寻到的区域中,距离自身最近的两个数据收集点,作为自己的左右孩子节点(如图7中的节点K、L、H和M点。为显著标示,标注其为灰色),并建立到达它们的连接,以黑色粗实线表示;
步骤4-6:步骤4-5中被选中的节点重复地按照步骤4-4和4-5的规则,选择其自身的左右孩子节点,并建立到达它们的连接,直到没有符合要求的区域或没有符合要求的孩子节点为止。此时,第一棵备选数据收集二叉树建立完成,如图7所示。步骤4-6终止时,网络中的某些区域有可能未被选中,称这样的区域为“失联区域”,如图7中的区域8,为显著标示,将该区域底色标注为灰色。
步骤5:从基站开始,建立第二棵备选数据收集二叉树。其具体步骤为:
步骤5-1:基站在步骤4-1所选出的第一层区域中,选择距离其自身次近的一个数据收集点,作为其所建立的第二棵备选数据收集二叉树的根节点,如图8中的节点N,为显著标示,将该节点标注为竖线阴影;同时,基站同该节点建立点到点的连接,在图8中,以点粗虚线表示;
步骤5-2:第二棵备选数据收集二叉树的根节点进行广播探寻,利用各节点的自身坐标,计算并找寻出距离其自身最近的两个区域,如图8中的区域2和区域4。同时,该根节点分别在这两个区域中,各找寻一个距离其自身最近且尚未被其它备选数据收集二叉树选中的“数据收集点”,分别作为其左孩子和右孩子(如图8中的节点O和节点P。为显著,同样标注其为竖线阴影),建立到达它们的连接;
步骤5-3:步骤5-2中的左右两个孩子节点分别进行广播探寻,按照步骤4-4中的方法各自选择两个区域。如图8所示,区域5和区域3为距离节点P最近的且符合步骤4-4要求的两个区域,而对于节点O,则找不到符合条件的区域;
步骤5-4:步骤5-2中的左右两个孩子节点,分别选择其所找寻到的区域中,距离自身最近且尚未被其它的备选数据收集二叉树选中的两个数据收集点,作为自己的左右孩子节点(如图8中的节点Q和C。为显著,同样标注其为竖线阴影),并建立到达它们的连接;
步骤5-5:步骤5-4中被选中的节点重复地按照步骤5-3和5-4的规则,选择其自身的左右孩子节点,并建立到达它们的连接,直到没有符合要求的区域或没有符合要求的孩子节点为止。此时,第二棵备选数据收集二叉树建立完成,如图8所示。步骤5-5终止时,网络中原本存在的“失联区域”有可能被重新选中,此时,取消其“失联区域”的标记,如图8中的区域8所示。
步骤6:根据步骤4和步骤5中的具体规则,从基站开始,继续建立第三棵、第四棵……直至第k棵备选数据收集二叉树,k的值可根据网络规模和网络数据传输量决定。图9为一个建立了3棵备选数据收集二叉树的无线传感网,第三棵备选数据收集二叉树中的节点标记为黑色,之间用黑色粗虚线连接。
步骤7:基站根据其所建立的k棵备选数据收集二叉树的结构情况,选择一棵节点数最多的树,作为“数据收集树”,以确保该备选数据收集二叉树能够收集网络中尽可能多的区域产生的数据。例如,图7至图9分别展示了网络中的三棵备选数据收集二叉树的建立过程,而图8中所建立的第二棵树具有最多的节点,故选择其作为“数据收集树”;若符合条件的备选数据收集树有多棵,则选择树中节点平均传输距离最短的一棵,作为“数据收集树”。
步骤8:利用步骤7中被选中的“数据收集树”,开始基于时间片轮转的数据收集过程。其具体步骤为:
步骤8-1:数据收集树中各节点获取其所在区域的节点数量信息Si(节点数量包含其自身在内),其中,i代表区域编号;
步骤8-2:数据收集树中的各节点将其Si的值,通过多跳方式上报给基站。在上报过程中,各父节点需保存一份其所有直接子节点和间接子节点的Si值的副本;
步骤8-3:计算网络中各区域在一个数据收集周期内所耗费的总时间。设定网络中的各节点在一个数据收集周期内,耗费在其自身数据收集过程中的时间均为t,且忽略区域内节点之间的数据传输,并设定相邻区域间数据传输的时间为τ。则对于该数据收集树中的任意一个叶节点所在的区域i,其在一个数据收集周期内,完成数据收集和传输的总时间为Ti=Si×t+τ。如图10所示的数据收集树中,叶节点所在的区域4、6、7、8在一个数据收集周期内的所耗费的总时间将分别为:T4=5t+τ、T6=4t+τ、T7=3t+τ和T8=2t+τ;
步骤8-4:根据步骤8-3所计算出的时间,设定网络中各区域数据收集周期长度。对于数据收集树中的任一叶节点a所在的区域i,根据步骤8-3,分配给该区域的时间片Ti=Si×t+τ。而对于数据收集树中的任一中间节点b所在的区域j,分配给该区域的时间片长度Tj的大小,等于区域j自身进行数据收集和传输所需时间Sj×t+τ,加上节点b的所有直接和间接孩子节点所属区域进行数据收集及数据传输所耗费的时间总和。令节点b的孩子节点所属的各个区域中的节点个数分别为Q1,Q2,…Qq。其中,q为b的孩子节点总数。则根据步骤8-3中的条件及二叉树的性质可知,其中,是节点b的所有直接和间接孩子节点所属区域进行数据收集及数据传输所耗费的时间总和。
步骤8-5:根据步骤8-4,则网络完成一次数据收集所需时间为其中h为步骤7中所选中的数据收集树中的节点总数。T即一个数据收集周期,而Ti则是在一个数据收集周期内,分配给各个区域的时间片长度。于是,网络在一个数据收集周期内,按照上述时间片进行轮转,最终在T时间内,完成一次数据收集。
步骤9:当步骤7和步骤8中被选择的数据收集树中的节点因能耗过大而造成数据收集树断连时,将向基站进行通告,由基站从其它尚未被选中的备选数据收集树中,按照步骤7的规则,选择一棵,作为新的数据收集树,并按照步骤8的规则,重新建立时间片轮转的数据收集策略。同时,原数据收集树作废。如,假设图10中的数据收集树在运转了一段时间后,因节点P能耗过大而断连,此时,基站重新选择数据收集树,如图11所示,同时,图10中的数据收集树作废。
步骤10:由于无线传感网为动态网络,除了节点失效的情况外,需考虑新节点加入的情况。故在网络运行了γ个周期或当网络中出现了新节点后,由基站发起重构“”的命令,并转步骤4,开始新一轮数据收集二叉树的构建。如图12所示,当网络中出现了新节点Y且节点L失效后,基站重新构建了3棵“备选数据收集二叉树”。
Claims (1)
1.一种基于多重数据收集二叉树的无线传感网数据收集方法,其特征在于:
利用随机部署的无线传感网节点,通过最近邻居节点探寻、网络区域建立、节点自定位、多重数据收集二叉树建立,形成多个备选的数据收集路径结构,并在此基础上,利用基于节点数的时间片轮转策略和面向网络动态变化的数据收集树重构,实现无线传感网络的数据收集,具体为:
步骤1:在矩形平面网络中,部署n个无线传感网节点,其中,含有存在若干个已知其自身位置信息的信标节点,基站位于网络外围边缘处;
步骤2:网络中的各节点,以广播的方式,找寻距离自己最近的邻居节点,并分布式地构建网络区域;步骤2中网络区域的构建为:
步骤2-1:网络中的各节点以其在收发状态下的最小功率Pmin,分布式地广播包含自身ID号的数据包;同时,开启其内部计时器,定义计时器阈值为T;
步骤2-2:在T时间内,若当前节点收到了一个及以上不同ID号的节点发来的数据包,则根据其到来时的信号强度大小,选择信号强度最大的一个节点为其“最近邻居节点”,转步骤2-3;若信号强度最大的邻居节点不止一个,则当前节点选择最先到达的数据包的ID号为其“最近邻居节点”,转步骤2-3;若在T时间内,当前节点没有收到任何数据包,则转步骤2-4;
步骤2-3:当前节点向其“最近邻居节点”发送一个确认包,并将该“最近邻居节点”ID号置入其缓存中,转步骤2-6;
步骤2-4:若当前节点的发送功率P小于该节点所允许的最大发送功率Pmax,则当前节点增大其发送功率P后,重新广播包含其自身ID号的数据包,同时,再次开启其内部计时器,并设其阈值为T,转步骤2-2;否则,转步骤2-5;
步骤2-5:当前节点无法连通网络中的其它任何节点,此时,将当前节点标记为孤立节点;孤立节点将不再参与网络后续运行;
步骤2-6:收到确认包的节点将发来确认包的源节点的ID号置入其缓存中,同时,在网络中的所有非孤立节点与其“最近邻居节点”间,建立可达链路;此时,网络将形成多个簇状拓扑结构,将每个簇状拓扑定义为一个区域;
步骤3:网络中的所有非孤立的非信标节点自组织地完成自身位置信息的确定工作;步骤3具体为:
步骤3-1:网络中的所有非孤立的信标节点,以其最大发送功率Pmax广播包含其ID号和其坐标信息的数据包;同时,网络中的所有非孤立的非信标节点将其自身设置为接收状态,以接收非孤立的信标节点的广播包;
步骤3-2:若非孤立的非信标节点,收到3个或3个以上不同ID号的信标节点发送的广播包,则利用极大似然估计法,估算自身的坐标值,并转步骤3-3;否则转步骤3-4;
步骤3-3:对于已经完成坐标值估算的非信标节点,若参与其坐标值估算的信标节点数大于5,或该非信标节点所估算出的坐标值与参与其坐标估算的所有信标节点所形成的多边形的质心的坐标值误差小于某一阈值时,则认为该非信标节点所估算出的坐标值可信,将该非信标节点标记为“可信节点”;同时,以其最大发送功率Pmax广播包含其ID号和其坐标信息的数据包;
步骤3-4:若非孤立的非信标节点虽未能收到3个或3个以上不同ID号的信标节点发送的广播包,但却能够收到3个或3个以上信标节点加“可信节点”的广播包,则其仍利用极大似然估计法,估算出自身的坐标值;否则,认为该节点无法完成对其自身坐标值的估算;
步骤3-5:将网络中所有非孤立的信标节点和最终完成坐标值估计的非信标节点标记为“数据收集点”,以便其参与后续的多重数据融合树的构建;最终无法完成坐标值估计的非孤立节点,将仅在后续步骤中参与数据传输,不参与多重数据融合树的构建;
步骤3-6:网络中所有的“数据收集点”将自身的坐标信息,以多跳传递的方式,反馈给基站;
步骤4:从基站开始,建立第一棵备选数据收集二叉树;步骤4具体为:
步骤4-1:基站根据其所掌控的网络内所有“数据收集点”的坐标情况,选择平均距离与自身最近的一个区域,作为将要建立的备选数据收集二叉树的第一层区域;
步骤4-2:基站在步骤4-1所选择的区域中,选择一个距离自身最近的“数据收集点”,作为基站的直接子节点,并将其标记为第一棵备选数据收集二叉树的根节点,同时,基站同该节点建立点到点的连接;
步骤4-3:第一棵备选数据收集二叉树的根节点进行广播探寻,利用各节点的自身坐标,计算并找寻出距离其自身最近的两个区域;同时,根节点分别在这两个区域中,各找寻一个距离其自身最近的“数据收集点”,并分别作为其左孩子和右孩子,建立到达它们的连接;
步骤4-4:左右两个孩子节点分别进行广播探寻,利用各节点的自身坐标,计算并找寻出距离各自最近的两个区域,且这些区域还需满足以下条件,即任何一个区域中的数据收集点距离基站的平均距离,均大于等于当前节点所在区域中的所有数据收集点到达基站的平均距离;
步骤4-5:步骤4-4中的左右两个孩子节点,分别选择其所找寻到的区域中,距离自身最近的两个数据收集点,作为自己的左右孩子节点,并建立到达它们的连接;
步骤4-6:步骤4-5中被选中的节点重复地按照步骤4-4和4-5的规则,选择其自身的左右孩子节点,并建立到达它们的连接,直到没有符合要求的区域或没有符合要求的孩子节点为止;此时,第一棵备选数据收集二叉树建立完成;步骤4-6终止时,若网络中的某些区域未被选中,称这样的区域为“失联区域”;
步骤5:从基站开始,建立第二棵备选数据收集二叉树;步骤5具体为:
步骤5-1:基站在步骤4-1所选出的第一层区域中,选择距离其自身次近的一个数据收集点,作为其所建立的第二棵备选数据收集二叉树的根节点;同时,基站同该节点建立点到点的连接;
步骤5-2:第二棵备选数据收集二叉树的根节点进行广播探寻,利用各节点的自身坐标,计算并找寻出距离其自身最近的两个区域;同时,该根节点分别在这两个区域中,各找寻一个距离其自身最近且尚未被其它备选数据收集二叉树选中的“数据收集点”,分别作为其左孩子和右孩子,建立到达它们的连接;
步骤5-3:步骤5-2中的左右两个孩子节点分别进行广播探寻,按照步骤4-4中的方法各自选择两个区域;
步骤5-4:步骤5-2中的左右两个孩子节点,分别选择其所找寻到的区域中,距离自身最近且尚未被其它的备选数据收集二叉树选中的两个数据收集点,作为自己的左右孩子节点,并建立到达它们的连接;
步骤5-5:步骤5-4中被选中的节点重复地按照步骤5-3和5-4的规则,选择其自身的左右孩子节点,并建立到达它们的连接,直到没有符合要求的区域或没有符合要求的孩子节点为止;此时,第二棵备选数据收集二叉树建立完成;步骤5-5终止时,若网络中原本存在的“失联区域”被重新选中,此时,取消其“失联区域”的标记;
步骤6:根据步骤4和步骤5中的具体规则,从基站开始,继续建立第三棵、第四棵……直至第k棵备选数据收集二叉树,k的值根据网络规模和网络数据传输量决定;
步骤7:基站根据其所建立的k棵备选数据收集二叉树的结构情况,选择一棵节点数最多的树,作为“数据收集树”;若符合条件的备选数据收集树有多棵,则选择树中节点平均传输距离最短的一棵,作为“数据收集树”;
步骤8:利用步骤7中被选中的“数据收集树”,开始基于时间片轮转的数据收集过程;步骤8具体为:
步骤8-1:数据收集树中各节点获取其所在区域的节点数量信息Si,节点数量包含其自身在内,其中,i代表区域编号;
步骤8-2:数据收集树中的各节点将其Si的值,通过多跳方式上报给基站,在上报过程中,各父节点需保存一份其所有直接子节点和间接子节点的Si值的副本;
步骤8-3:计算网络中各区域在一个数据收集周期内所耗费的总时间;设定网络中的各节点在一个数据收集周期内,耗费在其自身数据收集过程中的时间均为t,且忽略区域内节点之间的数据传输,并设定相邻区域间数据传输的时间为τ;则对于该数据收集树中的任意一个叶节点所在的区域i,其在一个数据收集周期内,完成数据收集和传输的总时间为Ti=Si×t+τ;
步骤8-4:根据步骤8-3所计算出的时间,设定网络中各区域数据收集周期长度;对于数据收集树中的任一叶节点a所在的区域i,根据步骤8-3,分配给该区域的时间片Ti=Si×t+τ;而对于数据收集树中的任一中间节点b所在的区域j,分配给该区域的时间片长度Tj的大小,等于区域j自身进行数据收集和传输所需时间Sj×t+τ,加上节点b的所有直接和间接孩子节点所属区域进行数据收集及数据传输所耗费的时间总和;
令节点b的孩子节点所属的各个区域中的节点个数分别为Q1,Q2,…Qq;其中,q为b的孩子节点总数;则根据步骤8-3中的条件及二叉树的性质可知,其中,是节点b的所有直接和间接孩子节点所属区域进行数据收集及数据传输所耗费的时间总和;
步骤8-5:根据步骤8-4,则网络完成一次数据收集所需时间为其中h为步骤7中所选中的数据收集树中的节点总数;T即一个数据收集周期,而Ti则是在一个数据收集周期内,分配给各个区域的时间片长度;网络在一个数据收集周期内,按照上述时间片进行轮转,最终在T时间内,完成一次数据收集;
步骤9:当步骤7和步骤8中被选择的数据收集树中的节点因能耗过大而造成数据收集树断连时,将向基站进行通告,由基站从其它尚未被选中的备选数据收集树中,按照步骤7的规则,选择一棵,作为新的数据收集树,并按照步骤8的规则,重新建立时间片轮转的数据收集策略;同时,原数据收集树作废;
步骤10:在网络运行了γ个周期或当网络中出现了新节点后,由基站发起重构“备选数据收集二叉树”的命令,并转步骤4,开始新一轮数据收集二叉树的构建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410423902.6A CN104185191B (zh) | 2014-08-26 | 2014-08-26 | 基于多重数据收集二叉树的无线传感网数据收集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410423902.6A CN104185191B (zh) | 2014-08-26 | 2014-08-26 | 基于多重数据收集二叉树的无线传感网数据收集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104185191A CN104185191A (zh) | 2014-12-03 |
CN104185191B true CN104185191B (zh) | 2017-06-16 |
Family
ID=51965861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410423902.6A Active CN104185191B (zh) | 2014-08-26 | 2014-08-26 | 基于多重数据收集二叉树的无线传感网数据收集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104185191B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105451334A (zh) * | 2015-06-30 | 2016-03-30 | 知鑫知识产权服务(上海)有限公司 | 一种用于无线传感器网络的高能效数据采集方法 |
CN105828427A (zh) * | 2016-03-16 | 2016-08-03 | 中国联合网络通信集团有限公司 | 网络接入方法及网络设备 |
CN108268493A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团广东有限公司 | 基于地理位置的最近站点搜索方法及装置 |
CN108738005A (zh) * | 2018-05-22 | 2018-11-02 | 西安航天寰星电子科技有限公司 | 一种基于低功耗蓝牙的Mesh组网方法及其系统 |
CN109274095B (zh) * | 2018-10-30 | 2020-07-14 | 东北大学秦皇岛分校 | 基于互信息的低压配电网用户拓扑估计方法及系统 |
CN111413711A (zh) * | 2020-03-18 | 2020-07-14 | 杭州微萤科技有限公司 | 一种定位系统及其自动设置父卫星方法 |
CN117082649B (zh) * | 2023-10-18 | 2023-12-19 | 常州嘉昊广播电视设备有限公司 | 一种基于5g技术的数据传输系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561444A (zh) * | 2013-11-11 | 2014-02-05 | 无锡赛睿科技有限公司 | 一种传感器网络中的数据收集的方法及装置 |
CN103701705A (zh) * | 2013-12-20 | 2014-04-02 | 河海大学常州校区 | 无线传感器网络中基于二叉树查询的移动sink数据采集方法 |
-
2014
- 2014-08-26 CN CN201410423902.6A patent/CN104185191B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561444A (zh) * | 2013-11-11 | 2014-02-05 | 无锡赛睿科技有限公司 | 一种传感器网络中的数据收集的方法及装置 |
CN103701705A (zh) * | 2013-12-20 | 2014-04-02 | 河海大学常州校区 | 无线传感器网络中基于二叉树查询的移动sink数据采集方法 |
Non-Patent Citations (2)
Title |
---|
"DATA DIFFUSION AND GATHERING IN WIRELESS SENSOR NETWORKS";P. Balamurugan and Dr. K. Duraiswamy;《Journal of Global Research in Computer Science》;20110707;第2卷(第7期);全文 * |
"Hypercube-based Data Gathering in Wireless Sensor Networks";PO-JEN CHUANG, BO-YI LI AND TUN-HAO CHAO;《JOURNAL OF INFORMATION SCIENCE AND ENGINEERING》;20071231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104185191A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104185191B (zh) | 基于多重数据收集二叉树的无线传感网数据收集方法 | |
CN102036308B (zh) | 一种能量均衡的无线传感器网络分簇方法 | |
CN101237366B (zh) | 一种协同感知能量有效的无线传感网实现方法 | |
CN102404817B (zh) | 多汇聚节点无线传感器网络组网方法及其系统 | |
CN101729331B (zh) | 成簇方法与装置、簇头与基站的路由方法与装置 | |
CN103220216B (zh) | 一种基于区域划分的无线体域网路由方法 | |
CN104284386B (zh) | 基于点介数的无线传感器网络簇头选择方法 | |
CN101013926A (zh) | 一种无线传感器网络通信方法和系统 | |
CN103974367B (zh) | 无线传感器网络中基于heed算法的错误容忍和多路径优化方法 | |
CN104410997B (zh) | 一种用于无线传感器网络的层次型拓扑结构构建方法 | |
CN105898822A (zh) | 一种无线传感器网络传递信息的方法 | |
CN103209454A (zh) | 一种基于节点竞争值及软阈值的双簇头选举方法 | |
CN107205254B (zh) | 紧时延约束的移动sink节点接入与抗扰方法及系统 | |
CN107222900B (zh) | 一种基于动态链的无线传感器网络节点协作方法 | |
CN103781143A (zh) | 一种能效优化的簇树分层无线传感网路由方法 | |
CN105050095B (zh) | 一种基于能量预测的异构无线传感网的拓扑构建方法 | |
CN105764112B (zh) | 基于多Sink的煤矿巷道无线传感器路由方法及系统 | |
CN103974366B (zh) | 一种基于增强学习的无线体域网路由方法 | |
CN108322503A (zh) | 一种基于无线传感器网络的水稻精准灌溉测控系统 | |
CN101594657A (zh) | 无线传感网络中基于软阈值的簇头选举方法 | |
CN105764114A (zh) | 一种基于能耗均衡的水下无线传感器网络拓扑控制方法 | |
CN107018545B (zh) | 一种应用于无线通信系统中的自组网方法 | |
CN106612232B (zh) | 一种适应多变因素的集中器主动抄表路由方法 | |
CN105933947A (zh) | 贪婪地理路由协议切线切换空洞处理的路由方法 | |
CN104411000A (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 |