一种能量异构无线传感器网络的数据收集方法与流程

文档序号:11882392阅读:370来源:国知局
一种能量异构无线传感器网络的数据收集方法与流程

本发明属于无线网络技术领域,是一种无线传感器网络中信息的传输方法,具体涉及一种能量异构无线传感器网络的数据收集方法。



背景技术:

无线传感器网络的主要应用之一是监测环境状况并周期性将监测到的数据发送到汇聚节点,如,当应用于生态环境监测或者建筑物质量状况监测时,传感器节点均需要周期性采集指定的数据,之后将数据通过某种方式传输到汇聚节点供后续处理。可选的传输方式包括树状结构和网状结构。树状结构中,每个节点需要将数据发送给父节点,数据的流向为一棵以汇聚节点为根的树,称为路由树。而在网状结构中,每个节点可以将数据分别发送给不同节点。由于网状结构的路由表较大,不易于维护,实践中主要采用树状结构。

树状结构在构造时的主要目标是尽可能延长网络的生存时间。这是因为传感器节点一般由电池供电,在野外工作时无法更换电池,因此在给定初始电量的前提下延长网络的生存时间是一个关键问题。当传感器网络中不同节点的初始电量不同时,该网络被称为能量异构无线传感器网络。

为能量异构无线传感器网络构造树状路由结构的方法目前有两类。一类是给定方法的运行时间,要求找到的路由结构具有尽可能长的生存时间。这种方法的运行时间可以预测,但找到的路由结构的生存时间较短。另一类方法不限定运行时间,要求找到的路由结构具有最长的生存时间。目前这类方法主要采用图分解,辅以一些启发式的贪婪规则对解空间进行回溯式穷举。缺点有二。一是构造路由结构消耗的时间较长,实验发现当节点个数增加至40个时,超过20%的网络无法在2小时内找到路由结构,极大限制了方法的实用性。二是未考虑实际应用中方法的运作模式,比如,如何估计初始电量以及收集、分发路由决策等。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一个耗时短、实用的方法,能够为能量异构无线传感器网络找到生存时间最长的树状路由结构。相对于已有方法,本发明可在给定时间内为更多网络构建生存时间最长的路由结构。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种能量异构无线传感器网络的数据收集方法,包括如下四个阶段步骤:

(1)网络测量:包括

(1.1)建立电压与电量的对应关系;

(1.2)建立初始路由树收集节点的电压信息以估计电量,同时收集节点的邻居信息以构建网络拓扑结构;

(2)网络分解:将网络根据拓扑信息划分为两连通子网络;

(3)子网络求解:通过建立单一的整数线性规划问题构建子网络路由结构;

(4)路由分发:将路由结构分发到网络中,节点调整路由表。

进一步的,所述步骤(1.1)建立电压与电量的对应关系的具体步骤如下:

(1.1.1)准备两个传感器节点和一台计算机,将其中一个节点装入全新的电池作为发送节点,另一个节点和计算机组装成汇聚节点,同时作为接收节点;

(1.1.2)编程让发送节点以最高的采样频率采集电池的电压数据,并将所述电压数据以及时间戳写入到一个报文中进行广播,利用接收节点记录广播的数据信息;当接收节点收不到数据时即认为发送节点的电量已耗尽;

(1.1.3)接收节点将报文数量转换为剩余电量数据;

(1.1.4)将电池的电压数据与(1.1.3)取得的电量数据对应。

进一步的,所述步骤(1.2)收集网络拓扑信息与电池剩余电量,具体步骤如下:

(1.2.1)系统中的汇聚节点广播报文,任意节点收到报文后转发,建立一个最短路径路由树;在此过程中每个节点收集邻居列表信息,并检测电池电压;

(1.2.2)路由树建立后,每个节点沿着路由树将邻居列表与电池电压数据发送给所述汇聚节点;

(1.2.3)所述汇聚节点将每个节点的电压根据步骤(1.1)转换为电量,记录节点i的电量为ei;记录每个节点的邻居信息。

进一步的,所述步骤(2)网络分解的具体步骤如下:

(2.1)系统中的汇聚节点将邻居节点间的边删除,记删边后的网络连通图为G;

(2.2)将所述网络连通图G分解为二连通子图G1、G2,分解后的每个子图将有一个根节点;同时记录所述根节点的子孙节点个数。

进一步的,所述步骤(3)子网络求解的具体步骤如下:

(3.1)任选一个尚未解决的子网络,将子网络中所有节点重新编号,从0开始递增,根为0号节点,保留原有编号和新编号的对应关系;

(3.2)构建整数线性规划问题;

(3.3)求解所述整数线性规划问题,从最优解的xij值得到子网络最优路由结构,标记当前子网络为已解决;

(3.4)若存在尚未解决的子网络,跳转到步骤(3.1);否则,跳转到步骤(4)。

进一步的,所述步骤(3)中,所述整数线性规划问题具体如下:

minx t (1)

subject to

j|ij∈D xij=1,for all i∈V\{0} (2)

j|ij∈D yij=∑j|ij∈D yji+di,for all i∈V\{0} (3)

yij≤nxij,for all ij∈D (4)

j|ij∈D yij≤(eit+Rx)/(Rx+Tx),for all i∈V\{0} (5)

yij≥0,xij∈{0,1}for all i≠0and ij∈D (6)

其中,xij为待求解的未知0-1整型变量,表示i的父节点是否为j;

D、V、n、di、ei、Rx、Tx已知,分别表示子网络的有向边集合、子网络的顶点集合、整个网络的节点数量、非根节点i在其他子网络中作为根节点时的子孙个数加1、节点i的剩余电量、接收一个数据包消耗能量、发送一个数据包消耗能量;

t为子网络的生存时间的倒数;

yij表示从i发到j的数据包个数。

进一步的,利用整数线性规划工具包求解所述整数线性规划问题,包括CPLEX、Gurobi、lp_solve。

进一步的,所述步骤(4)的具体方法为:利用步骤(1)所建立的路由树,将步骤(3)中求解得到的路由结构分发给对应节点,每个节点在收到信息后,更新自己的父节点。

有益效果:本发明提供的能量异构无线传感器网络的数据收集方法,相对于已有方法,本发明的有益效果包括:

(1)本发明在保证最长生存时间的前提下具有耗时短的优点。模拟实验表明,无线传感器节点个数达到41时,已有方法在20%的网络中均需要2个小时以上运算时间。本发明将这一比例降低到了6%。

(2)本发明给出了完整的路由构建方法,可以直接应用到已有网络中,具有更高实用性。

附图说明

图1为本发明的流程图;

图2为模拟实验中本发明与已有方法耗时长短的对比结果示意图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

本发明为一种能量异构无线传感器网络的数据收集方法,包括以下步骤:(1)网络测量阶段建立电压与电量的对应关系,之后通过初始路由树收集传感器节点的电压信息以估计电量,同时收集节点的邻居信息以构建网络拓扑结构。(2)网络分解阶段将网络根据拓扑信息划分为2连通子网络。(3)子网络求解阶段通过建立整数线性规划问题寻找子网络路由结构。(4)路由分发阶段将路由结构分发到网络中,节点更新路由结构以将数据发送到汇聚节点。本发明可用于节点的剩余电量不同的传感器网络中,能够更快构建出生存时间最长的路由结构。

如图1所示为一种能量异构无线传感器网络的数据收集方法,分为四个阶段,网络测量、网络分解、子网络求解、路由分发。

1.网络测量

此阶段的目的是获取传感器节点的电量信息和连通性信息,以供后续阶段使用。难点在于电量的估算。本发明中所指“汇聚节点”是一台连着传感器节点的计算机,传感器节点将从无线天线收集的数据通过USB连接线发送给计算机,由计算机执行计算复杂型任务,并将决策通过USB连接线发送给传感器,由传感器通过无线天线发布给传感器网络。

1.1测量电池的电压与电量的关系,具体步骤如下:

(1.1.1)准备两个传感器节点和一台计算机。将其中一个节点装入全新的电池作为发送节点,另一个节点和计算机组装成汇聚节点,同时作为接收节点。

(1.1.2)编程让发送节点以最高的采样频率采集电池的电压数据,并将电压数据以及时间戳写入到一个报文中进行广播,利用接收节点记录广播的数据信息。由于广播数据会消耗能量,因此在较短时间内,发送节点的电池的电量将耗尽,当接收节点收不到数据时即认为发送节点的电量已耗尽。

(1.1.3)接收节点将报文数量转换为剩余电量数据。例如,当发送节点电压降低到2.3伏时,若其继续发送了106个报文后才耗尽电量,则可以认为2.3伏时的电量可以支持106个报文的发送。利用已知的发送报文的耗能Tx数据,可以将报文数转化为电量。例如,若是TelosB节点,Tx约等于6.66*10-4J,则对应电量可以估计为666J。

(1.1.4)将电池的电压数据与(1.1.3)取得的电量数据对应,即,可以将任一电压数据转换为剩余电量。

1.2收集网络拓扑信息与电池剩余电量,具体步骤如下。

(1.2.1)汇聚节点广播报文,任意节点收到报文后转发,以此建立一个最短路径路由树。在此过程中每个节点收集邻居列表信息,并检测电池电压。

(1.2.2)路由树建立后,每个节点沿着路由树将邻居列表与电池电压数据发送给汇聚节点。

(1.2.3)汇聚节点将每个节点的电压根据步骤1.1转换为电量,记录节点i的电量为ei;记录每个节点的邻居信息。

2.网络分解

(2.1)汇聚节点将邻居节点间的边删除,记删边后的网络连通图为G。因为汇聚节点的邻居节点的最佳策略是将数据发送给汇聚节点,而不是通过其他节点转发,因此这些删除的边在构建路由树时无用。

(2.2)将网络连通图G分解为二连通子图G1,G2,...分解后的每个子图将有一个根节点,有一些节点在一个子图中为普通节点,而在另一个子图中为根节点。这种节点需要同时记录它作为根节点时的子孙节点个数。

3.子网络求解

(3.1)任选一个尚未解决的子网络,将子网络中所有节点重新编号,从0开始递增,根为0号节点,保留原有编号和新编号的对应关系。依次标号的目的是为了提高构建整数线性规划问题时的效率。

(3.2)构建如下整数线性规划问题。

minx t (1)

subject to

j|ij∈D xij=1,for all i∈V\{0} (2)

j|ij∈D yij=∑j|ij∈D yji+di,for all i∈V\{0} (3)

yij≤nxij,for all ij∈D (4)

j|ij∈D yij≤(eit+Rx)/(Rx+Tx),for all i∈V\{0} (5)

yij≥0,xij∈{0,1}for all i≠0and ij∈D (6)

其中xij为待求解的未知0-1整型变量,表示i的父节点是否为j;符号D、V、n、di、ei、Rx、Tx已知,分别表示子网络的有向边集合、子网络的顶点集合、整个网络的节点数量、非根节点i在其他子网络中作为根节点时的子孙个数加1、节点i的剩余电量、接收一个数据包消耗能量、发送一个数据包消耗能量。t为子网络的生存时间的倒数,yij表示从i发到j的数据包个数,虽然都是未知变量,但它们的值在xij确定之后均可以轻易得到。可验证此规划问题为一个整数线性规划问题。

(3.3)利用整数线性规划工具包求解步骤3.2构建的规划问题,从最优解的xij的值可得到子网络最优路由结构,标记当前子网络为已解决。可选的工具包较多,例如CPLEX,Gurobi,lp_solve。

(3.4)若存在尚未解决的子网络,跳转到步骤3.1;否则,跳转到步骤4。

4.路由分发

利用步骤1.2.1所建立的路由树,将步骤3中求解得到的路由结构分发给对应节点,每个节点在收到信息后,更新自己的父节点。此时,路由结构建立成功。

实施案例

本发明的效果可以用以下仿真实验进一步说明。传感器网络包含41个节点,其中1个节点为汇聚节点。节点间的连接边按如下方式随机生成:节点均匀分布在100×100的正方形区域内,两个节点间的距离不超过20m时可以通信。节点剩余能量均匀分布在1~10焦内,接收和发送一个数据包的能耗分别为3.33×10-4焦和6.66×10-4焦。随机生成50个网络实例。对比本发明与现有的图分解方案。

图2为模拟实验中本发明与已有方法耗时长短的对比结果示意图,若一种方法耗时超过7200秒(2小时),则强制终止该方法的运行,因此,已有方法在10个网络中均未成功建立路由结构。为便于显示,已将网络按照图分解方法的耗时从小到大进行了重新编号。可以看到,本发明能够在2小时内为47个网络构建生存时间最长的路由结构,而已有的网络分解方案只能为40个网络找到生存时间最长的路由结构。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1