CN101902797B - 面向矩阵式无线传感器网络的分块式随机路由的选择方法 - Google Patents

面向矩阵式无线传感器网络的分块式随机路由的选择方法 Download PDF

Info

Publication number
CN101902797B
CN101902797B CN2010102260503A CN201010226050A CN101902797B CN 101902797 B CN101902797 B CN 101902797B CN 2010102260503 A CN2010102260503 A CN 2010102260503A CN 201010226050 A CN201010226050 A CN 201010226050A CN 101902797 B CN101902797 B CN 101902797B
Authority
CN
China
Prior art keywords
node
packet
ready
sending
numbering
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.)
Expired - Fee Related
Application number
CN2010102260503A
Other languages
English (en)
Other versions
CN101902797A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2010102260503A priority Critical patent/CN101902797B/zh
Publication of CN101902797A publication Critical patent/CN101902797A/zh
Application granted granted Critical
Publication of CN101902797B publication Critical patent/CN101902797B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了面向矩阵式无线传感器网络的分块式随机路由的选择方法:(1)以设定的概率随机选择网络中传感器节点为路径开启节点,路径开启节点根据其节点编号选择所对应的路径终止节点;(2)路径开启节点成为准备发送数据包的节点,根据所对应的路径终止节点的编号执行后续步骤;(3)准备发送数据包的节点根据其节点编号判断是选择汇聚节点为接收其数据包的下一跳节点从而结束随机路由选择,或是选择其他下一跳节点接收其数据包;(4)下一跳节点判断所接收的数据包中的编号信息中是否存在其自身节点编号从而选择以更新后数据包或以所接收的数据包作为该下一跳节点在下一步路径选择中所要发送的数据包并返回执行步骤(3)。

Description

面向矩阵式无线传感器网络的分块式随机路由的选择方法
技术领域
本发明涉及一种面向矩阵式无线传感器网络的分块式路由选择方法。
背景技术
压缩感知(Compressed Sensing)是近几年来的一项新兴信号处理技术,其核心思想是将数据采样和压缩合并进行,首先采集信号的非自适应线性投影(测量值),然后根据相应的重构算法由测量值复原信号。压缩感知有两个方面的基本要求:信号的稀疏性,观测基(观测矩阵)与变换基(变换矩阵)的非相关性。对于自然界的任何信号,均存在一个特定的表示空间,使得该信号在此空间具有稀疏性。经相关理论证明,随机矩阵,即元素为随机数的矩阵,与固定的变换基具有很好的非相关性。
压缩感知的数学原理为:设长度为N的矢量信号X在正交变换基Ψ上的变换系数是稀疏的,即:原始信息X为一维N×1向量,X∈RN,存在一个N×N变换矩阵Ψ,X=ΨP,其中P亦为一维N×1向量,使得P具有稀疏性。信号的稀疏性是指若向量中非零项的个数为K,K<N,则称该向量是K-稀疏。
用与变换基Ψ不相关的观测矩阵Φ对原始信息进行线性变换,观测矩阵Φ为一个M×N的矩阵,Φ∈RM×N(M<<N),并得到观测信号集合Y,即
Y=ΦX,
Y = &Phi;X = &Phi;&Psi;P = &Phi; ~ P ,
故Y为一维M×1向量。在已知
Figure GDA00001800534200012
的条件下,可利用优化求解方法从Y中精确地或高概率地重构信号P,继而恢复出原始信号X。
压缩感知技术的最大优点在于能以远低于奈奎斯特采样率的采样速率进行采样,大大减少信号在数据采集和传输过程中消耗的资源和能量。相对于常规的先采样后压缩的分布式信源编码方法,压缩感知的优势在于不需要被处理信号的任何先验信息,且不需要控制信息交换。
无线传感器网络(Wireless Sensor Network,WSN)是通过无线通信的方式形成的一个多跳的且有可能自组织的网络系统,由部署在一定检测区域内的大量微型传感器节点组成,主要功能为协作地感知、采集和处理网络覆盖区域的监测信息,并发送给观察中心(汇聚节点)。一般来说,无线传感器网络中包含大量的广泛分布的节点,故需要传输、分析和处理大量的数据。
根据压缩感知和无线传感器网络的特性,压缩感知技术被用于无线传感器网络中,在没有任何先验信息的情况下,提供一种有效的数据融合算法,减少处理大量数据所需要的观测值数目,降低无线传感器网络中的数据传输负担和数据融合的计算复杂度。在无线传感器网络中,将压缩感知与网络拓扑和路由相结合,各分布节点的信息在传向汇聚节点的路径中不断加权汇聚,加权信息构成压缩感知技术需要的观测矩阵,最终汇聚节点根据观测矩阵正确重构网络中各节点信息。经路由形成的观测矩阵是稀疏矩阵,从而大大减少了汇聚节点进行信号重构时的计算量。
然而,目前关于将压缩感知用于无线传感器网络中的数据收集的研究中,存在很大的缺陷。传统的压缩感知算法的应用会导致密集的观测矩阵的产生,从而大大增加了数据收集过程中的损耗。虽然,在压缩感知理论中,满足特定要求的稀疏观测矩阵也可以保证压缩感知中数据重构时的有效性和可靠性,但是,现有的路由选择技术无法稳定的满足对稀疏观测矩阵的特征的要求。主要表现在,经由现有的路由选择技术形成观测矩阵中非零值的个数不足,且非零值的位置分布不够均匀,故大大减低了压缩感知中信号重构的性能。故如何同时保证经由路径选择技术形成的观测矩阵中非零值的数目以及位置分布均匀成为亟需解决的问题。
发明内容
本发明的目的是提供一种面向矩阵式无线传感器网络的分块式随机路由的渐进式选择方法。
基于压缩感知的路由选择方法应首先满足路由选择的随机性。随机性的实现主要表现在路由选择中各个参数的确定均为随机的。在本发明涉及的矩阵式无线传感器网络中,路由选择中的参数包括选择哪些节点为路径开启节点,被选中节点如何选择下一跳节点,以及节点发送感知数据信息时的加权系数。在本发明的路由选择方法中,以设定的概率随机地选择无线传感器网络的传感器节点作为数据源发送数据,开启任意路径;在每一条路径中,被选中节点随机地选择下一跳节点;被选中节点发送数据的加权系数是利用随机数生成器生成的随机数,从而能实现路由的随机性。
在满足经由路由选择方法生成的观测矩阵中非零值的数目足够的前提下,非零值的位置的均匀分布能提高基于压缩感知的路由选择方法的有效性。在本发明的路由选择方法中,被选中的路径开启节点根据自身在网络中所处的位置,将位于矩阵型网络中离自身最远的顶点的传感器节点为该路径的路径终止节点,因而在保证路径中所包含节点的个数不会过少的同时,亦保证了生成的所有路径中所包含节点的均匀分布,从而保证了所得到观测矩阵中非零点的数目以及位置的均匀分布。
具体地说,本发明实现其目的所采取的技术方案是:该面向矩阵式无线传感器网络的分块式随机路由的选择方法是:
所述网络中包含N个传感器节点和一个汇聚节点,其中,
Figure GDA00001800534200041
为正整数,所述N个传感器节点的拓扑为矩阵形状,所述汇聚节点位于N个传感器节点所覆盖的区域的外部:
若所述汇聚节点位于N个传感器节点所覆盖的区域的上方或下方,则所述网络中传感器节点的编号为:距离汇聚节点最远一行的传感器节点的编号从一端到另一端依次为其中编号为1的传感器节点所在行为第一行,该编号为1的传感器节点所在列为第一列;位于所述网络中第I行、第J列的传感器节点的编号为
Figure GDA00001800534200043
其中,
Figure GDA00001800534200044
I、J均为正整数,
若汇聚节点位于N个传感器节点所覆盖的区域的左方或右方,则所述网络中传感器节点的编号为:距离汇聚节点最远一列的传感器节点的编号从一端到另一端依次为
Figure GDA00001800534200045
其中编号为1的传感器节点所在行为第一行,该编号为1的传感器节点所在列为第一列,位于所述网络中第I行、第J列的传感器节点的编号为
Figure GDA00001800534200046
其中,
Figure GDA00001800534200047
I,J均为正整数;
进行所述分块式随机路由选择时包括如下步骤:
(1)所述网络以设定的概率随机选择网络中的传感器节点为路径开启节点,各被选中的路径开启节点成为当前准备发送数据包的节点,各准备发送数据包的节点的数据包中所包含的信息为该节点的编号信息和该节点的运算信息,所述运算信息为该准备发送数据包的节点获取的检测对象的信息与生成的随机数的乘积;
各被选中的路径开启节点按如下方法选择该节点所对应的路径终止节点:若所述路径开启节点的编号除以
Figure GDA00001800534200048
的商属于区间
Figure GDA00001800534200049
且路径开启节点的编号除以
Figure GDA000018005342000410
的余数属于区间则,选择编号为N的节点为该路径开启节点所对应的路径终止节点,并执行步骤(2);
若路径开启节点的编号除以
Figure GDA00001800534200051
的商属于区间且路径开启节点的编号除以的余数不属于区间
Figure GDA00001800534200054
则,选择编号为
Figure GDA00001800534200055
的节点为该路径开启节点所对应的路径终止节点,并执行步骤(4);
若路径开启节点的编号除以的商不属于区间
Figure GDA00001800534200057
且路径开启节点的编号除以
Figure GDA00001800534200058
的余数属于区间
Figure GDA00001800534200059
则,选择编号为
Figure GDA000018005342000510
的节点为该路径开启节点所对应的路径终止节点,并执行步骤(6);
若路径开启节点的编号除以
Figure GDA000018005342000511
的商不属于区间且路径开启节点的编号除以
Figure GDA000018005342000513
的余数不属于区间则,选择编号为1的节点为该路径开启节点所对应的路径终止节点,并执行步骤(8);
(2)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断当前准备发送数据包的节点的编号是否为N,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点编号是否属于区间或是否能被
Figure GDA000018005342000516
整除:
若该准备发送数据包的节点编号属于区间
Figure GDA000018005342000517
则选择编号为该准备发送数据包的节点编号加1的节点为下一跳节点,并执行步骤(3),
若该准备发送数据包的节点编号能被
Figure GDA000018005342000518
整除,则选择编号为该准备发送数据包的节点的编号减L的节点或者编号为该准备发送数据包的节点的编号加
Figure GDA000018005342000519
的节点为接收其数据包的下一跳节点并执行步骤(3),其中L为区间
Figure GDA000018005342000520
内的任意正整数,
若该准备发送数据包的节点的编号既不属于区间
Figure GDA000018005342000521
也不能被
Figure GDA000018005342000522
整除,则选择编号为该准备发送数据包的节点的编号加1的节点或者编号为该准备发送数据包的节点的编号加
Figure GDA000018005342000523
的节点为接收其数据包的下一跳节点并执行步骤(3);
(3)步骤(2)所述的准备发送数据包的节点将其数据包发送至步骤(2)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(2);
(4)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断当前准备发送数据包的节点的编号是否为
Figure GDA00001800534200061
若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点的编号是否属于区间
Figure GDA00001800534200062
或除以的余数是否为1:
若该准备发送数据包的节点的编号属于区间
Figure GDA00001800534200064
则选择编号为该准备发送数据包的节点的编号减1的节点为下一跳节点,并执行步骤(5),
若该准备发送数据包的节点的编号除以
Figure GDA00001800534200065
的余数为1,则选择编号为该准备发送数据包的节点的编号加L的节点或者编号为该准备发送数据包的节点的编号加的节点为接收其数据包的下一跳节点并执行步骤(5),其中L为区间
Figure GDA00001800534200072
内的任意正整数,
若该准备发送数据包的节点的编号既不属于区间
Figure GDA00001800534200073
且除以的余数不为1,则选择编号为该准备发送数据包的节点的编号减1的节点或者编号为该准备发送数据包的节点的编号加
Figure GDA00001800534200075
的节点为接收其数据包的下一跳节点并执行步骤(5);
(5)步骤(4)所述的准备发送数据包的节点将其数据包发送至步骤(4)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(4);
(6)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断该准备发送数据包的节点的编号是否为
Figure GDA00001800534200076
若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点的编号是否属于区间
Figure GDA00001800534200077
或是否能被
Figure GDA00001800534200078
整除:
若该准备发送数据包的节点的编号属于区间
Figure GDA00001800534200081
则选择编号为该准备发送数据包的节点的编号加1的节点为下一跳节点,并执行步骤(7),
若该准备发送数据包的节点的编号能被
Figure GDA00001800534200082
整除,则选择编号为该准备发送数据包的节点的编号减L的节点或者编号为该准备发送数据包的节点的编号减的节点为接收其数据包的下一跳节点并执行步骤(7),其中L为区间
Figure GDA00001800534200084
内的任意正整数,
若该准备发送数据包的节点的编号既不属于区间
Figure GDA00001800534200085
也不能被
Figure GDA00001800534200086
整除,则选择编号为该准备发送数据包的节点的编号加1的节点或者编号为该准备发送数据包的节点的编号减
Figure GDA00001800534200087
的节点为接收其数据包的下一跳节点并执行步骤(7);
(7)步骤(6)所述的准备发送数据包的节点将其数据包发送至步骤(6)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(6);
(8)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断该准备发送数据包的节点的编号是否为1,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点编号是否属于区间
Figure GDA00001800534200091
或除以
Figure GDA00001800534200092
的余数是否为1:
若该准备发送数据包的节点的编号属于区间
Figure GDA00001800534200093
则选择编号为该准备发送数据包的节点的编号减1的节点为下一跳节点,并执行步骤(9);
若该准备发送数据包的节点的编号除以
Figure GDA00001800534200094
的余数为1,则选择编号为该准备发送数据包的节点的编号加L的节点或者编号为该准备发送数据包的节点的编号减
Figure GDA00001800534200095
的节点为接收其数据包的下一跳节点并执行步骤(9),其中L为区间
Figure GDA00001800534200096
内的任意正整数;
若该准备发送数据包的节点的编号既不属于区间
Figure GDA00001800534200097
且除以
Figure GDA00001800534200098
的余数不为1,则选择编号为该准备发送数据包的节点的编号减1的节点或者编号为该准备发送数据包的节点的编号减
Figure GDA00001800534200099
的节点为接收其数据包的下一跳节点并执行步骤(9);
(9)步骤(8)所述的准备发送数据包的节点将其数据包发送至步骤(8)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(8);
(10)汇聚节点接收到数据包,所述随机路由选择结束。
与现有技术相比,本发明的优点在于:
本发明在满足路由选择的随机性的同时,保证了各条生成路径中传感器节点数目的足够性,同时实现了所有生成路径所包含的传感器节点的均匀分布,即,较现有技术,经由本发明中的路径选择方法,无线传感器网络中的各传感器节点被生成的所有路径包含的可能性更为相似。因而,经由该路由所产生的观测矩阵中,各行中非零值的个数,以及矩阵中非零值的位置分布能满足基于稀疏观测矩阵的压缩感知精确重构的要求,满足将压缩感知有效运用于无线传感器网络的必要条件,能够以很低的误差用少量的观测值重构得到整个网络的信息值。
附图说明
图1为本发明面向矩阵式无线传感器网络中汇聚节点位于传感器节点覆盖区域上方时网络的拓扑图,其中,该网络的最右一列为节点的第1列;
图2为本发明面向矩阵式无线传感器网络中汇聚节点位于传感器节点覆盖区域上方时网络的拓扑图,其中,该网络的最左一列为节点的第1列;
图3为本发明面向矩阵式无线传感器网络中汇聚节点位于传感器节点覆盖区域下方时网络的拓扑图;
图4为本发明面向矩阵式无线传感器网络中汇聚节点位于传感器节点覆盖区域左方时网络的拓扑图;
图5为本发明面向矩阵式无线传感器网络中汇聚节点位于传感器节点覆盖区域右方时网络的拓扑图;
图6为本发明面向矩阵式无线传感器网络的分块式随机路由选择方法的流程图;
图7为用不同M值对应的信息重构误差来验证本发明所公开方法的性能的仿真结果图。
图1至图5中,黑色方块表示汇聚节点,空心圆圈表示传感器节点。
具体实施方式
在本发明中,无线传感器网络为矩阵式结构,呈棋盘式网格状。根据矩阵式无线传感器网络中汇聚节点与传感器节点覆盖区域的相对位置,该网络包括四种拓扑:汇聚节点位于传感器节点所覆盖区域的上方,如图1和图2所示;汇聚节点位于传感器节点所覆盖区域的下方,如图3所示;汇聚节点位于传感器节点所覆盖区域的左方,如图4所示;汇聚节点位于传感器节点所覆盖区域的右方,如图5所示。以图1为例,无线传感器网络的汇聚节点位于N个传感器节点所覆盖区域的上方,无线传感器网络的传感器节点的拓扑为正方形矩阵(即
Figure GDA00001800534200111
矩阵),传感器节点均匀地分布在正方形矩阵式网络中各小格的顶点位置,网络中每个传感器节点,除位于网络四周边缘处的节点,均沿着网络有上下左右四个相邻节点。传感器节点编号方法如下:如图1所示,位于网络最下端一行的节点的编号从右向左依次为
Figure GDA00001800534200112
编号为1的传感器节点所在行为第1行,该编号为1的传感器节点所在列为第1列,网络中,由下往上依次为第行,由右往左依次为第
Figure GDA00001800534200114
列,每一行的节点由第1列至第列依次加1进行编号,对一行的节点编号完成后继续从其后一行的第1列节点开始往该后一行的第
Figure GDA00001800534200116
列节点依次加1进行编号,后一行第1列节点的编号是其前一行最后一列(即第列)节点的编号加1;位于该网络中第I行第J列的传感器节点的编号则为
Figure GDA00001800534200121
其中,
Figure GDA00001800534200122
I,J均为正整数。故图1中,节点a的编号为
Figure GDA00001800534200123
节点b的编号为
Figure GDA00001800534200124
节点c的编号为
Figure GDA00001800534200125
节点d的编号为
Figure GDA00001800534200126
在对汇聚节点位于传感器节点所覆盖区域的上方时的无线传感器网络节点进行编号时,也可如图2所示,令位于网络最下端一行的节点的编号从左向右依次为
Figure GDA00001800534200127
其他节点的编号规则与图1所示的实施方式的编号规则相同。
在本发明的无线传感器网络中,数据包均能被正确的接收和转发。
具体地说,如图6所示,本发明面向矩阵式无线传感器网络的分块式随机路由选择方法的步骤为:
(1)网络以设定的概率随机地选择网络中的节点为路径开启节点,该设定的概率为M/N,其中M为满足M>KlogN的任意整数,N为网络中节点的总个数,K为网络中所有节点获得的检测对象信息的稀疏性指标;各被选中的路径开启节点按如下方法选择该节点所对应的路径终止节点:
若所述路径开启节点的编号除以
Figure GDA00001800534200128
的商属于区间
Figure GDA00001800534200129
且路径开启节点的编号除以
Figure GDA000018005342001210
的余数属于区间
Figure GDA000018005342001211
则,选择编号为N的节点为该路径开启节点所对应的路径终止节点;
若所述路径开启节点的编号除以
Figure GDA000018005342001212
的商属于区间
Figure GDA000018005342001213
且路径开启节点的编号除以
Figure GDA000018005342001214
的余数不属于区间则,选择编号为的节点为该路径开启节点所对应的路径终止节点;
若所述路径开启节点的编号除以的商不属于区间
Figure GDA000018005342001218
且路径开启节点的编号除以
Figure GDA000018005342001219
的余数属于区间
Figure GDA000018005342001220
则,选择编号为
Figure GDA000018005342001221
的节点为该路径开启节点所对应的路径终止节点;
若所述路径开启节点的编号除以
Figure GDA000018005342001222
的商不属于区间
Figure GDA000018005342001223
且路径开启节点的编号除以的余数不属于区间
Figure GDA00001800534200132
则,选择编号为1的节点为该路径开启节点所对应的路径终止节点;
各被选中的路径开启节点成为当前准备发送数据包的节点,各准备发送数据包的节点的数据包中所包含的信息为该节点的编号信息和该节点的运算信息,所述运算信息为该准备发送数据包的节点获取的检测对象的信息与生成的随机数的乘积;
若被选中的路径开启节点所对应的路径终止节点的编号为N,则执行步骤(2);若编号为
Figure GDA00001800534200133
的节点被选择为该路径开启节点所开启路径的路径终止节点,则直接执行步骤(4);若编号为
Figure GDA00001800534200134
的节点被选择为该路径开启节点所开启路径的路径终止节点,则直接执行步骤(6);若编号为1的节点被选择为该路径开启节点所开启路径的路径终止节点,则直接执行步骤(8);
(2)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断当前准备发送数据包的节点的编号是否为N,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点编号是否属于区间
Figure GDA00001800534200135
或是否能被
Figure GDA00001800534200136
整除:
若该准备发送数据包的节点编号属于区间
Figure GDA00001800534200137
则选择编号为该准备发送数据包的节点编号加1的节点为下一跳节点,并执行步骤(3);
若该准备发送数据包的节点编号能被整除,则选择编号为该准备发送数据包的节点编号减L的节点或者编号为该准备发送数据包的节点编号加
Figure GDA00001800534200139
的节点为接收其数据包的下一跳节点并执行步骤(3),其中L为区间
Figure GDA000018005342001310
内的任意正整数;
若该准备发送数据包的节点编号既不属于区间
Figure GDA000018005342001311
也不能被
Figure GDA00001800534200141
整除,则选择编号为该准备发送数据包的节点编号加1的节点或者编号为该准备发送数据包的节点编号加
Figure GDA00001800534200142
的节点为接收其数据包的下一跳节点并执行步骤(3);
(3)步骤(2)所述的准备发送数据包的节点将其数据包发送至步骤(2)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包;
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(2);
(4)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断该准备发送数据包的节点的编号是否为
Figure GDA00001800534200143
若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该节点编号是否属于区间
Figure GDA00001800534200144
或除以
Figure GDA00001800534200145
的余数是否为1:
若该节点编号属于区间
Figure GDA00001800534200146
则选择编号为该节点编号减1的节点为下一跳节点,并执行步骤(5);
若该节点编号除以
Figure GDA00001800534200147
的余数为1,则选择编号为该节点编号加L的节点或者编号为该节点编号加
Figure GDA00001800534200151
的节点为接收其数据包的下一跳节点,其中L为区间
Figure GDA00001800534200152
内的任意正整数并执行步骤(5);
若该节点编号既不属于区间
Figure GDA00001800534200153
且除以
Figure GDA00001800534200154
的余数不为1,则选择编号为该节点编号减1的节点或者编号为该节点编号加的节点为接收其数据包的下一跳节点并执行步骤(5);
(5)步骤(4)所述的准备发送数据包的节点将其数据包发送至步骤(4)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号,若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包;若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(4);
(6)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判该断准备发送数据包的节点的编号是否为
Figure GDA00001800534200156
若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该节点编号是否属于区间
Figure GDA00001800534200157
或是否能被
Figure GDA00001800534200158
整除:
若该节点编号属于区间则选择编号为该节点编号加1的节点为下一跳节点,并执行步骤(3);
若该节点编号能被
Figure GDA00001800534200161
整除,则选择编号为该节点编号减L的节点或者编号为该节点编号减
Figure GDA00001800534200162
的节点为接收其数据包的下一跳节点,其中L为区间
Figure GDA00001800534200163
内的任意正整数;
若该节点编号既不属于区间
Figure GDA00001800534200164
也不能被
Figure GDA00001800534200165
整除,则选择编号为该节点编号加1的节点或者编号为该节点编号减的节点为接收其数据包的下一跳节点;
(7)步骤(6)所述的准备发送数据包的节点将其数据包发送至步骤(6)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号,若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包;若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(6);
(8)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断该准备发送数据包的节点的编号是否为1,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该节点编号是否属于区间或除以
Figure GDA00001800534200168
的余数是否为1:
若该节点编号属于区间
Figure GDA00001800534200169
则选择编号为该节点编号减1的节点为下一跳节点,并执行步骤(9);
若该节点编号除以
Figure GDA00001800534200171
的余数为1,则选择编号为该节点编号加L的节点或者编号为该节点编号减
Figure GDA00001800534200172
的节点为接收其数据包的下一跳节点,其中L为区间
Figure GDA00001800534200173
内的任意正整数;
若该节点编号既不属于区间
Figure GDA00001800534200174
且除以
Figure GDA00001800534200175
的余数不为1,则选择编号为该节点编号减1的节点或者编号为该节点编号减
Figure GDA00001800534200176
的节点为接收其数据包的下一跳节点;
(9)步骤(8)所述的准备发送数据包的节点将其数据包发送至步骤(8)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号,若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包;若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(8);
(10)汇聚节点接收到数据包,当汇聚节点接收到所有被开启路径的数据包后,所述随机路由选择结束。
以一个具体实施过程为例,经过仿真,本发明公开的面向矩阵式无线传感器网络的分块式随机路由的选择方法可被证实其在对所述矩阵式无线传感器网络中的数据进行采集时的高效性。仿真采用matlab软件。仿真中的参数设置如下:传感器节点的总个数N=1024,网络信息的稀疏性指标K=20。仿真中的参数设置是为了实现本具体实施过程,在其他实施过程中,参数也可被设设置为其他相应的满足要求的数值。仿真的性能指标为在汇聚节点处信息重构的误差,
Figure GDA00001800534200181
其中X是所述网络中待采集的初始信息值,X′是汇聚节点处信息的重构值。误差越小表示重构得到的信息值与待采集的初始信息值越接近。仿真过程中,改变选择路径开启节点的概率M/N的值,M的值可在大于200的正整数中任意选取,在此仿真中,为使仿真过程简单清晰,M的值依次取200、250、300、350、400、450、500、550、600,经仿真得出相应的信息重构的误差值。仿真结果如图7所示,其中X轴表示M的取值,Y轴表示信息值的重构误差。由图7可以看出,当M=200时,信号重构的误差最大,此时误差值仅仅为0.0025,是一个很小的误差值;随着M值的增加,误差越来越小。由此可以看出,利用经由本发明公开的面向矩阵式无线传感器网络的分块式随机路由的选择方法所采集到的少量信息值,可以以很低的误差恢复出网络中的全部信息。故本发明的有效性和高效性被得到证实。

Claims (1)

1.一种面向矩阵式无线传感器网络的分块式随机路由的选择方法,其特征是:
所述网络中包含N个传感器节点和一个汇聚节点,其中,
Figure FDA00001800534100011
为正整数,所述N个传感器节点的拓扑为矩阵形状,所述汇聚节点位于N个传感器节点所覆盖的区域的外部:
若所述汇聚节点位于N个传感器节点所覆盖的区域的上方或下方,则所述网络中传感器节点的编号为:距离汇聚节点最远一行的传感器节点的编号从一端到另一端依次为其中编号为1的传感器节点所在行为第一行,该编号为1的传感器节点所在列为第一列;位于所述网络中第I行、第J列的传感器节点的编号为
Figure FDA00001800534100013
其中,
Figure FDA00001800534100014
I、J均为正整数,
若汇聚节点位于N个传感器节点所覆盖的区域的左方或右方,则所述网络中传感器节点的编号为:距离汇聚节点最远一列的传感器节点的编号从一端到另一端依次为
Figure FDA00001800534100015
其中编号为1的传感器节点所在行为第一行,该编号为1的传感器节点所在列为第一列,位于所述网络中第I行、第J列的传感器节点的编号为其中,
Figure FDA00001800534100017
I,J均为正整数;
进行所述分块式随机路由选择时包括如下步骤:
(1)所述网络以设定的概率随机选择网络中的传感器节点为路径开启节点,各被选中的路径开启节点成为当前准备发送数据包的节点,各准备发送数据包的节点的数据包中所包含的信息为该节点的编号信息和该节点的运算信息,所述运算信息为该准备发送数据包的节点获取的检测对象的信息与生成的随机数的乘积;
各被选中的路径开启节点按如下方法选择该节点所对应的路径终止节点:
若所述路径开启节点的编号除以的商属于区间
Figure FDA00001800534100022
且路径开启节点的编号除以
Figure FDA00001800534100023
的余数属于区间
Figure FDA00001800534100024
则,选择编号为N的节点为该路径开启节点所对应的路径终止节点,并执行步骤(2);
若路径开启节点的编号除以
Figure FDA00001800534100025
的商属于区间
Figure FDA00001800534100026
且路径开启节点的编号除以
Figure FDA00001800534100027
的余数不属于区间
Figure FDA00001800534100028
则,选择编号为
Figure FDA00001800534100029
的节点为该路径开启节点所对应的路径终止节点,并执行步骤(4);
若路径开启节点的编号除以
Figure FDA000018005341000210
的商不属于区间
Figure FDA000018005341000211
且路径开启节点的编号除以的余数属于区间
Figure FDA000018005341000213
则,选择编号为
Figure FDA000018005341000214
的节点为该路径开启节点所对应的路径终止节点,并执行步骤(6);
若路径开启节点的编号除以
Figure FDA000018005341000215
的商不属于区间且路径开启节点的编号除以
Figure FDA000018005341000217
的余数不属于区间
Figure FDA000018005341000218
则,选择编号为1的节点为该路径开启节点所对应的路径终止节点,并执行步骤(8);
(2)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断当前准备发送数据包的节点的编号是否为N,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点编号是否属于区间
Figure FDA000018005341000219
或是否能被整除:
若该准备发送数据包的节点编号属于区间则选择编号为该准备发送数据包的节点编号加1的节点为下一跳节点,并执行步骤(3),
若该准备发送数据包的节点编号能被整除,则选择编号为该准备发送数据包的节点的编号减L的节点或者编号为该准备发送数据包的节点的编号加
Figure FDA000018005341000223
的节点为接收其数据包的下一跳节点并执行步骤(3),其中L为区间
Figure FDA000018005341000224
内的任意正整数,
若该准备发送数据包的节点的编号既不属于区间
Figure FDA00001800534100031
也不能被
Figure FDA00001800534100032
整除,则选择编号为该准备发送数据包的节点的编号加1的节点或者编号为该准备发送数据包的节点的编号加
Figure FDA00001800534100033
的节点为接收其数据包的下一跳节点并执行步骤(3);
(3)步骤(2)所述的准备发送数据包的节点将其数据包发送至步骤(2)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(2);
(4)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断当前准备发送数据包的节点的编号是否为
Figure FDA00001800534100034
若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点的编号是否属于区间
Figure FDA00001800534100035
或除以
Figure FDA00001800534100036
的余数是否为1:
若该准备发送数据包的节点的编号属于区间
Figure FDA00001800534100037
则选择编号为该准备发送数据包的节点的编号减1的节点为下一跳节点,并执行步骤(5),
若该准备发送数据包的节点的编号除以
Figure FDA00001800534100041
的余数为1,则选择编号为该准备发送数据包的节点的编号加L的节点或者编号为该准备发送数据包的节点的编号加
Figure FDA00001800534100042
的节点为接收其数据包的下一跳节点并执行步骤(5),其中L为区间
Figure FDA00001800534100043
内的任意正整数,
若该准备发送数据包的节点的编号既不属于区间
Figure FDA00001800534100044
且除以
Figure FDA00001800534100045
的余数不为1,则选择编号为该准备发送数据包的节点的编号减1的节点或者编号为该准备发送数据包的节点的编号加
Figure FDA00001800534100046
的节点为接收其数据包的下一跳节点并执行步骤(5);
(5)步骤(4)所述的准备发送数据包的节点将其数据包发送至步骤(4)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(4);
(6)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断该准备发送数据包的节点的编号是否为
Figure FDA00001800534100051
若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点的编号是否属于区间
Figure FDA00001800534100052
或是否能被
Figure FDA00001800534100053
整除:
若该准备发送数据包的节点的编号属于区间
Figure FDA00001800534100054
则选择编号为该准备发送数据包的节点的编号加1的节点为下一跳节点,并执行步骤(7),
若该准备发送数据包的节点的编号能被
Figure FDA00001800534100055
整除,则选择编号为该准备发送数据包的节点的编号减L的节点或者编号为该准备发送数据包的节点的编号减
Figure FDA00001800534100056
的节点为接收其数据包的下一跳节点并执行步骤(7),其中L为区间
Figure FDA00001800534100057
内的任意正整数,
若该准备发送数据包的节点的编号既不属于区间
Figure FDA00001800534100058
也不能被
Figure FDA00001800534100059
整除,则选择编号为该准备发送数据包的节点的编号加1的节点或者编号为该准备发送数据包的节点的编号减
Figure FDA000018005341000510
的节点为接收其数据包的下一跳节点并执行步骤(7);
(7)步骤(6)所述的准备发送数据包的节点将其数据包发送至步骤(6)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(6);
(8)当前准备发送数据包的节点按如下方法选择接收其数据包的下一跳节点:
判断该准备发送数据包的节点的编号是否为1,若是,则选择汇聚节点为接收其数据包的下一跳节点并执行步骤(10);否则,判断该准备发送数据包的节点编号是否属于区间
Figure FDA00001800534100061
或除以
Figure FDA00001800534100062
的余数是否为1:
若该准备发送数据包的节点的编号属于区间
Figure FDA00001800534100063
则选择编号为该准备发送数据包的节点的编号减1的节点为下一跳节点,并执行步骤(9);
若该准备发送数据包的节点的编号除以
Figure FDA00001800534100064
的余数为1,则选择编号为该准备发送数据包的节点的编号加L的节点或者编号为该准备发送数据包的节点的编号减的节点为接收其数据包的下一跳节点并执行步骤(9),其中L为区间
Figure FDA00001800534100066
内的任意正整数;
若该准备发送数据包的节点的编号既不属于区间
Figure FDA00001800534100067
且除以
Figure FDA00001800534100068
的余数不为1,则选择编号为该准备发送数据包的节点的编号减1的节点或者编号为该准备发送数据包的节点的编号减
Figure FDA00001800534100069
的节点为接收其数据包的下一跳节点并执行步骤(9);
(9)步骤(8)所述的准备发送数据包的节点将其数据包发送至步骤(8)选定的下一跳节点;
该下一跳节点在接收到数据包后判断该数据包中的编号信息中是否存在该下一跳节点的自身编号:
若不存在该下一跳节点的自身编号,则将该下一跳节点的自身运算信息与其接收到的数据包中的运算信息相叠加并同时将该下一跳节点的自身编号信息添加至其接收到的数据包中以使该接收到的数据包得到更新,该更新后的数据包为该下一跳节点的准备发送的数据包,
若存在该下一跳节点的自身编号,则将该下一跳节点接收到的数据包作为该下一跳节点的准备发送的数据包;
接着以该下一跳节点为下一步路径选择中准备发送数据包的节点执行步骤(8);
(10)汇聚节点接收到数据包,所述随机路由选择结束。
CN2010102260503A 2010-07-13 2010-07-13 面向矩阵式无线传感器网络的分块式随机路由的选择方法 Expired - Fee Related CN101902797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102260503A CN101902797B (zh) 2010-07-13 2010-07-13 面向矩阵式无线传感器网络的分块式随机路由的选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102260503A CN101902797B (zh) 2010-07-13 2010-07-13 面向矩阵式无线传感器网络的分块式随机路由的选择方法

Publications (2)

Publication Number Publication Date
CN101902797A CN101902797A (zh) 2010-12-01
CN101902797B true CN101902797B (zh) 2012-11-21

Family

ID=43227907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102260503A Expired - Fee Related CN101902797B (zh) 2010-07-13 2010-07-13 面向矩阵式无线传感器网络的分块式随机路由的选择方法

Country Status (1)

Country Link
CN (1) CN101902797B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132351A (zh) * 2006-08-21 2008-02-27 北京邮电大学 无线传感器网络路由建立方法及其装置
CN101605337A (zh) * 2009-06-22 2009-12-16 徐坤杰 无线传感器网络中的节点能量平衡优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2910761B1 (fr) * 2006-12-22 2009-01-30 Thales Sa Procede de routage dans un reseau a connectivite intermitente.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132351A (zh) * 2006-08-21 2008-02-27 北京邮电大学 无线传感器网络路由建立方法及其装置
CN101605337A (zh) * 2009-06-22 2009-12-16 徐坤杰 无线传感器网络中的节点能量平衡优化方法

Also Published As

Publication number Publication date
CN101902797A (zh) 2010-12-01

Similar Documents

Publication Publication Date Title
CN105682171B (zh) 基于时空相关性分簇的无线传感器网络压缩数据收集方法
CN101835233B (zh) 面向无线传感器网络的随机路由的选择方法
CN103826281B (zh) 基于场强信息的微功率无线通信中心节点组网方法
CN101848529B (zh) 一种无线传感器网络的多重主成分分析数据压缩方法
CN106687773A (zh) 用于基于上下文事件检测的传感器节点局部化和传感器网络组织的系统和方法
CN101808383B (zh) 面向矩阵式无线传感器网络的随机路由的选择方法
Xu et al. Efficient data gathering using compressed sparse functions
CN104703262B (zh) 基于压缩感知的分簇式数据收集方法
CN102547903A (zh) 一种基于压缩感知的无线传感器网络骨干节点选择方法
CN102164395A (zh) 基于压缩感知的无线传感器网络全局信息本地获取方法
CN103781116A (zh) 一种基于分布式存储的无线传感网的数据融合方法
CN107071800B (zh) 一种分簇无线传感器网络数据收集方法及装置
CN111726768A (zh) 一种基于压缩感知面向边缘计算的可靠数据收集方法
CN101895957B (zh) 面向矩阵式无线传感器网络分配权重的随机路由选择方法
Amarlingam et al. A novel low-complexity compressed data aggregation method for energy-constrained IoT networks
CN106060848A (zh) 一种有损链路下压缩感知数据收集方法及装置
CN107743302A (zh) 无线传感器网络中基于压缩感知的速率分配和路由联合优化算法
CN101902797B (zh) 面向矩阵式无线传感器网络的分块式随机路由的选择方法
CN106851767B (zh) 一种无线传感网络节点融合数据收集方法
Nguyen et al. Efficient data routing for fusion in wireless sensor networks
CN103546948A (zh) 基于图论的能量获取传感器网络节点休眠调度方法和系统
CN102868572A (zh) 一种基于端到端探测的路径延时的测量方法
CN110012488A (zh) 一种移动无线传感器网络的压缩数据收集方法
Xu et al. Spatio-temporal hierarchical data aggregation using compressive sensing (ST-HDACS)
Cui et al. Information recovery via block compressed sensing in 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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121

Termination date: 20180713