一种基于无线传感器网络的数据采集方法

申请号 CN201710345923.4 申请日 2017-05-18 公开(公告)号 CN107040973A 公开(公告)日 2017-08-11
申请人 陕西师范大学; 发明人 黄亚亚; 田娜; 何懿菡; 张立臣;
摘要 本公开涉及一种基于无线 传感器 网络的 数据采集 方法,所述方法考虑了一个传感器 节点 与接收基站的距离及自身剩余 能量 ,并且考虑了该节点的候选中继节点的个数和转发能 力 值,以及数据采集过程中本节点的后续传输路径上的节点的转发能力值,将这些因素进行综合计算,作为该节点的转发能力值,从而可以准确度量该节点作为候选节点的能力,进而使得本方法可以有效均衡网络能量消耗,提高网络生存期。所述方法还考虑了无线信道 质量 对数据接收率的影响,在节点转发数据时根据无线信道质量动态确定下一跳中继节点,可有效减少数据重传次数从而提高数据投递率并延长网络生存期。
权利要求

1.一种基于无线传感器网络的数据采集方法,其特征在于,所述方法通过无线传感器网络中的各个节点按下述步骤实现消息广播或消息接收,进而通过消息在节点之间的转发实现数据采集;
所述步骤包括:
S1、接收信道中的消息;
若所述消息为基站广播的第一数据请求消息,执行步骤S3;
若所述消息为第二数据请求消息,执行步骤S2;
若所述消息为感知数据消息,执行步骤S4;
所述第二数据请求消息包括所述第一数据请求消息、当前节点及当前节点的转发能值;
S2、建立第二数据请求消息集合,判断所述第二数据请求消息集合中的第二数据请求消息是否有效,并将所有有效的第二数据请求消息中的节点添加到节点上的候选中继节点列表中,执行步骤S3;
所述候选中继列表中的节点按照节点的转发能力值排序;
S3、判断当前节点是否具有数据请求消息所请求的感知数据;
若不具有所请求的感知数据,执行步骤S6;否则,执行步骤S7;
S4、判断当前节点是否在所述感知数据消息的候选中继节点列表中;
若当前节点在所述感知数据消息的候选中继节点列表中,执行步骤S5;
S5、判断当前节点的候选中继节点列表是否为空;
若非空,执行步骤S7;
S6、构造并广播当前节点的第二数据请求消息;
S7、构造感知数据消息并广播;
所述感知数据消息包括基站所请求的感知数据以及当前节点上的候选中继节点列表。
2.根据权利要求1所述的方法,其特征在于,优选的,所述步骤S7在广播感知数据消息的同时,还包括下述步骤:
S701、在构造感知数据消息的节点上,设置并启动所述感知数据消息对应的广播计时器;
S702、监听感知数据消息的确认消息;
若监听到感知数据消息的确认消息,执行步骤S703;否则,执行步骤S704;
S703、停止所述广播计时器计时;
S704、判断所述广播计时器计时是否结束;
若所述广播计时器计时结束;执行步骤S705;
S705、重新广播所述感知数据消息并重启所述广播计时器;返回步骤S702。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2中的判断包括下述步骤:
将发送第二数据请求消息的节点记作第一节点,将接收该第二数据请求消息的节点记作第二节点;
若所述第二节点与基站之间的距离大于所述第一节点与基站之间的距离,则所述第二节点收到的第二数据请求消息被认为有效。
4.根据权利要求2所述的方法,其特征在于,所述步骤S7在广播感知数据消息之前,还包括下述步骤:
S711、启动当前节点上的任务计时器;
S712、在所述任务计时器处于终止时间时,将当前节点上的候选中继节点列表加入到接收的感知数据消息中。
5.根据权利要求1所述的方法,其特征在于,所述转发能力值计算方法如下:
(I)若要计算转发能力值的节点是作为基站的节点的邻居节点,则该节点的转发能力值计算式为式(1);
(II)若要计算转发能力值的节点不是作为基站的节点的邻居节点,则该节点的转发能力值计算式为式(2);
式(1)中:
e表示要计算转发能力值的节点的剩余能量,E表示要计算转发能力值的节点的初始总能量;
d′为要计算转发能力值的节点与作为基站的节点之间的距离进行归一化处理后的值,d′∈[0,1.0];
α表示要计算转发能力值的节点的剩余能量在转发能力值中所占的权重,α∈[0,1.0];
c表示转发能力值,c∈[0,1.0];
式(2)中:
v表示要计算转发能力值的节点;
ev表示节点v的剩余能量,E表示节点v的初始总能量;
d′v表示节点v与基站之间的距离进行归一化处理后的值;
α表示节点v的剩余能量在转发能力值中所占的权重,α∈[0,1.0];
β表示节点v与基站的距离在转发能力值中所占的权重,β∈[0,1.0];
γ表示节点v的邻居节点转发能力的折扣因子,γ∈[0,1.0];
vi表示第i个有效的第二数据请求消息所对应的广播节点;
表示第i个有效的第二数据请求消息所对应的广播节点的转发能力值;
cv表示节点v的转发能力值,cv∈[0,1.0]。
6.根据权利要求4所述的方法,其特征在于:
所述感知数据消息在发送节点上对应的广播计时器设置的时间长度大于其在接收节点上对应的任务计时器设置的时间长度;
且所述感知数据消息在节点上设置的广播计时器或任务计时器的时间长度与该节点的转发能力相关,转发能力越强,该节点设置的广播计时器或任务计时器的时间长度越短。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括下述步骤:
S0、当节点为基站时,广播第一数据请求消息。
8.根据权利要求7所述的方法,其特征在于,在步骤S0之后,还包括下述步骤:
S0’、设置感知数据消息的接收时间,若在所述接收时间内未收到所述感知数据消息,则广播数据停止采集消息;
所述数据停止采集消息包括一个用于节点的休眠时间长度。
9.根据权利要求8所述的方法,其特征在于:
所述步骤S1中的消息还包括所述数据停止采集消息;
当接收的消息为所述数据停止采集消息,则执行下述步骤:
S12、广播所述数据停止采集消息,然后按所述数据停止采集消息中的休眠时间长度进行休眠。
10.一种无线传感器网络的节点,其特征在于:
所述节点使用权1-权9任意所述的方法进行消息广播或消息接收。

说明书全文

一种基于无线传感器网络的数据采集方法

技术领域

[0001] 本公开涉及数据收集和无线传感器网络领域,特别是基于无线传感器网络的野外感知数据高效、自动采集方法。

背景技术

[0002] 目前,随着通信技术和计算机技术的深入发展,无线传感器网络(Wireless Sensor Network,WSN)得到迅速推广应用。WSN是一种无线网络,包括大量静止或移动的传感器节点(Sensor),将感知和采集的数据,以自组织和多跳的方式传输到汇聚节点(Sink node)或基站(Base Station,BS)。WSN中部署的传感器节点具有众多用途,比如可探测包括地震、电磁、温度、湿度、噪声、光强度、压土壤成分、移动物体的大小、速度和方向等周边环境中多种多样的现象,因此,WSN被广泛应用在农业特别是中药材种植、环境监测、医疗保健、军事等领域。
[0003] 另一方面,WSN的数据采集和传输尤其是在野外等恶略环境下的数据采集和传输面临着严峻的挑战。首先,传感器节点的能量(即电池电量)往往有限且一般不具备充电能力,其在发送和接收数据时需要消耗一定的能量,从而在面临大量数据传输需求时会迅速耗尽能量而失效,进而影响整个WSN网络的生存期。其次,一个传感器节点在广播数据时往往面临时刻变化的无线信道质量,可能使得提前确定的下一跳节点无法正常接收数据,进而需要再次传输数据,进一步增加了能量消耗,延长了数据传输时延,缩短了整个无线传感器网络的生存期。再次,在野外环境下,人们往往通过移动或固定基站(BS)周期性地收集传感器节点所采集的数据,每次基站(BS)部署的位置可能不同,这导致无法采用提前计算的数据路由策略,进而需要动态自适应的数据路由策略和方法。因此,研究如何在野外数据采集环境下实现高效的动态自适应的数据采集方法,以减少数据重传次数、均衡能量消耗、延长网络生存期,具有重要的应用价值和广阔的应用前景。
[0004] 从现有的研究成果上看,当前的面向无线传感器网络的数据收集方法一般采用基于分簇的方法和基于能耗均衡的方法。基于分簇的数据收集方法首先将网络节点按距离远近划分为若干区域,在每个区域中选取一个节点作为簇头,簇头负责本区域内节点的数据收集并将收集到的数据转发给其他簇头,并最终转发到BS。本方法中区域的划分是非常困难的,且簇头面临大量的数据采集和传输任务,其面临的传输干扰巨大,易导致数据重传次数增加、能量消耗严重等缺点。现有基于能耗均衡的方法往往只考虑了当前节点和周围邻居节点的剩余能量,一般选择邻居节点中剩余能量较多的节点,而没有考虑数据采集过程所经过的传输路径上的其他节点的能量消耗,容易使数据采集方法陷入局部最优而缩短网络生存期。发明内容
[0005] 针对上述问题,本公开首先提供了基于无线传感器网络的数据采集方法,所述方法在野外数据采集中充分考虑无线信道质量、能量均衡,实现动态自适应的高效数据采集。所述方法包括下述步骤:
[0006] S1、接收信道中的消息;若所述消息为基站广播的第一数据请求消息,执行步骤S3;若所述消息为第二数据请求消息,执行步骤S2;若所述消息为感知数据消息,执行步骤S4;
[0007] 所述第二数据请求消息包括所述第一数据请求消息、当前节点及当前节点的转发能力值;
[0008] S2、建立第二数据请求消息集合,判断所述第二数据请求消息集合中的第二数据请求消息是否有效,并将所有有效的第二数据请求消息中的节点添加到节点上的候选中继节点列表中,执行步骤S3;
[0009] 所述候选中继列表中的节点按照节点的转发能力值排序;
[0010] S3、判断当前节点是否具有数据请求消息所请求的感知数据;若不具有所请求的感知数据,执行步骤S6;否则,执行步骤S7;
[0011] S4、判断当前节点是否在所述感知数据消息的候选中继节点列表中;若当前节点在所述感知数据消息的候选中继节点列表中,执行步骤S5;
[0012] S5、判断当前节点的候选中继节点列表是否为空;若非空,执行步骤S7;
[0013] S6、构造并广播当前节点的第二数据请求消息;
[0014] S7、构造感知数据消息并广播;
[0015] 所述感知数据消息包括基站所请求的感知数据以及当前节点上的候选中继节点列表。
[0016] 针对上述方法,其中,所述步骤S7在广播感知数据消息的同时,还包括下述步骤:
[0017] S701、在构造感知数据消息的节点上,设置并启动所述感知数据消息对应的广播计时器;
[0018] S702、监听感知数据消息的确认消息;若监听到感知数据消息的确认消息,执行步骤S703;否则,执行步骤S704;
[0019] S703、停止所述广播计时器计时;
[0020] S704、判断所述广播计时器计时是否结束;若所述广播计时器计时结束;执行步骤S705;
[0021] S705、重新广播所述感知数据消息并重启所述广播计时器;返回步骤S702。
[0022] 针对上述方法,其中,所述步骤S2中的判断包括下述步骤:
[0023] 将发送第二数据请求消息的节点记作第一节点,将接收该第二数据请求消息的节点记作第二节点;
[0024] 若所述第二节点与基站之间的距离大于所述第一节点与基站之间的距离,则所述第二节点收到的第二数据请求消息被认为有效。
[0025] 针对上述方法,其中,所述步骤S7在广播感知数据消息之前,还包括下述步骤:
[0026] S711、启动当前节点上的任务计时器;
[0027] S712、在所述任务计时器处于终止时间时,将当前节点上的候选中继节点列表加入到接收的感知数据消息中。
[0028] 针对上述方法,其中,所述转发能力值计算方法如下:
[0029] (I)若要计算转发能力值的节点是作为基站的节点的邻居节点,则该节点的转发能力值计算式为式(1);
[0030] (II)若要计算转发能力值的节点不是作为基站的节点的邻居节点,则该节点的转发能力值计算式为式(2);
[0031]
[0032] 式(1)中:
[0033] e表示要计算转发能力值的节点的剩余能量,E表示要计算转发能力值的节点的初始总能量;
[0034] d′为要计算转发能力值的节点与作为基站的节点之间的距离进行归一化处理后的值,d′∈[0,1.0];
[0035] α表示要计算转发能力值的节点的剩余能量在转发能力值中所占的权重,α∈[0,1.0];
[0036] c表示转发能力值,c∈[0,1.0];
[0037]
[0038] 式(2)中:
[0039] v表示要计算转发能力值的节点;
[0040] ev表示节点v的剩余能量,E表示节点v的初始总能量;
[0041] d′v表示节点v与基站之间的距离进行归一化处理后的值;
[0042] α表示节点v的剩余能量在转发能力值中所占的权重,α∈[0,1.0];
[0043] β表示节点v与基站的距离在转发能力值中所占的权重,β∈[0,1.0];
[0044] γ表示节点v的邻居节点转发能力的折扣因子,γ∈[0,1.0];
[0045] vi表示第i个有效的第二数据请求消息所对应的广播节点;
[0046] 表示第i个有效的第二数据请求消息所对应的广播节点的转发能力值;
[0047] cv表示节点v的转发能力值,cv∈[0,1.0]。
[0048] 针对上述方法,其中,所述感知数据消息在发送节点上对应的广播计时器设置的时间长度大于其在接收节点上对应的任务计时器设置的时间长度;
[0049] 且所述感知数据消息在节点上设置的广播计时器或任务计时器的时间长度与该节点的转发能力相关,转发能力越强,该节点设置的广播计时器或任务计时器的时间长度越短。
[0050] 针对上述方法,其中,所述方法还包括下述步骤:
[0051] S0、当节点为基站时,广播第一数据请求消息。
[0052] 针对上述方法,其中,在步骤S0之后,还包括下述步骤:
[0053] S0’、设置感知数据消息的接收时间,若在所述接收时间内未收到所述感知数据消息,则广播数据停止采集消息;
[0054] 所述数据停止采集消息包括一个用于节点的休眠时间长度。
[0055] 针对上述方法,其中,所述步骤S1中的消息还包括所述数据停止采集消息;
[0056] 当接收的消息为所述数据停止采集消息,则执行下述步骤:
[0057] S12、广播所述数据停止采集消息,然后按所述数据停止采集消息中的休眠时间长度进行休眠。
[0058] 本发明方法与现有技术相比具有下述优点:
[0059] 1)本发明方法考虑了一个传感器节点与接收基站的距离及自身剩余能量,并且考虑了该节点的候选中继节点的个数和转发能力值,以及数据采集过程中本节点的后续传输路径上的节点的转发能力值,将这些因素进行综合计算,作为该节点的转发能力值,从而可以准确度量该节点作为候选节点的能力,进而使得本方法可以有效均衡网络能量消耗,提高网络生存期。
[0060] 2)本发明方法考虑了无线信道质量对数据接收率的影响,在节点转发数据时根据无线信道质量动态确定下一跳中继节点,可有效减少数据重传次数,从而提高数据投递率并延长网络生存期。
[0061] 其次,针对上述方法,本发明提出了一种无线传感器网络的节点,具体为:所述节点使用上述方法进行消息广播或消息接收。
[0062] 与现有技术相比,所述无效传感器网络中的节点在考虑了自身与基站的距离、自身剩余能量、自身所具有的候选中继节点个数的基础上得到了准确的转发能力值,因此可以有效均衡其所在的无效传感器网络的能量消耗,提高网络生存期。节点考虑了无线信道质量对数据接收率的影响,通过采用计时器来动态的确定下一跳的中继节点,有效地减少数据重传次数,从而提高数据投递率并延长网络生存期。附图说明
[0063] 图1本发明实施例中基于传感网进行数据采集的方法流程图
[0064] 图2本发明实施例中的野外数据采集的无线传感器网络结构示意图。

具体实施方式

[0065] 本发明针对无线传感器网络中节点能量有限,在面临大量数据传输需求时会迅速耗尽能量而失效,进而影响整个WSN网络的生存期,提出了适用于使用野外部署的无线传感器网络进行数据采集的方法。所述方法包括下述主要步骤:
[0066] S1、接收信道中的消息;若所述消息为第一数据请求消息,执行步骤S3;若所述消息为第二数据请求消息,执行步骤S2;若所述消息为感知数据消息,执行步骤S4;
[0067] 所述第二数据请求消息包括所述第一数据请求消息、当前节点及当前节点的转发能力值;
[0068] S2、建立第二数据请求消息集合,判断所述第二数据请求消息集合中的第二数据请求消息是否有效,并将所有有效的第二数据请求消息中的节点添加到节点上的候选中继节点列表中,执行步骤S3;
[0069] 所述候选中继列表中的节点按照节点的转发能力值排序;
[0070] S3、判断当前节点是否具有数据请求消息所请求的感知数据;若不具有所请求的感知数据,执行步骤S6;否则,执行步骤S7;
[0071] S4、判断当前节点是否在所述感知数据消息的候选中继节点列表中;若当前节点在所述感知数据消息的候选中继节点列表中,执行步骤S5;
[0072] S5、判断当前节点的候选中继节点列表是否为空;若非空,执行步骤S7;
[0073] S6、构造并广播当前节点的第二数据请求消息;
[0074] S7、构造感知数据消息并广播;
[0075] 所述感知数据消息包括基站所请求的感知数据以及当前节点上的候选中继节点列表。
[0076] 在这个实施例中,所述方法描述了在野外数据采集过程中,一个节点收到一个消息时的相关操作。所述方法中涉及的节点可以是进行感知数据采集的传感器节点,也可以是基站。
[0077] 在所述方法中,若当前节点是基站,则所述方法还包括:广播第一请求消息。优选的,在基站上设置感知数据消息的接收时间,若在所述接收时间内未收到所述感知数据消息,则广播数据停止采集消息;所述数据停止采集消息包括一个用于节点的休眠时间长度。而对于不是基站的节点,在当接收的消息为所述数据停止采集消息,则执行下述步骤:
[0078] S12、广播所述数据停止采集消息,然后按数据停止采集消息中的休眠时间长度进行休眠。
[0079] 前述或以下实施方案中任一项方法,其中,所述第二数据请求消息包括节点与基站之间的距离。所述距离用于计算节点的转发能力值,也可以用来判断一个节点收到的第二数据请求消息是否有效。对于判断收到的第二数据请求消息是否有效,可以使用其它方法判断。
[0080] 当使用距离进行判断一个节点收到的第二数据请求消息是否有效时,具体地,所述判断包括下述步骤:
[0081] 将发送第二数据请求消息的节点记作第一节点,将接收该第二数据请求消息的节点记作第二节点;
[0082] 若所述第二节点与基站之间的距离大于所述第一节点与基站之间的距离,则所述第二节点收到的第二数据请求消息被认为有效。
[0083] 候选中继列表中的节点可以有多种确定优先级的方法,比如单纯的距离、剩余能量、邻居节点个数等,这里给出一种优选的方法,所述候选中继列表中的节点按照其转发能力值确定优先级。
[0084] 前述或以下实施方案中任一项方法,其中,所述转发能力值计算方法如下:
[0085] (I)若要计算转发能力值的节点是作为基站的节点的邻居节点,则该节点的转发能力值计算式为式(1);
[0086] (II)若要计算转发能力值的节点不是作为基站的节点的邻居节点,则该节点的转发能力值计算式为式(2);
[0087]
[0088] 式(1)中:
[0089] e表示要计算转发能力值的节点的剩余能量,E表示要计算转发能力值的节点的初始总能量;
[0090] d′为要计算转发能力值的节点与作为基站的节点之间的距离进行归一化处理后的值,d′∈[0,1.0];
[0091] α表示要计算转发能力值的节点的剩余能量在转发能力值中所占的权重,α∈[0,1.0];
[0092] c表示转发能力值,c∈[0,1.0];
[0093]
[0094] 式(2)中:
[0095] v表示要计算转发能力值的节点;
[0096] ev表示节点v的剩余能量,E表示节点v的初始总能量;
[0097] d′v表示节点v与基站之间的距离进行归一化处理后的值;
[0098] α表示节点v的剩余能量在转发能力值中所占的权重,α∈[0,1.0];
[0099] β表示节点v与基站的距离在转发能力值中所占的权重,β∈[0,1.0];
[0100] γ表示节点v的邻居节点转发能力的折扣因子,γ∈[0,1.0];
[0101] vi表示第i个有效的第二数据请求消息所对应的广播节点;
[0102] 表示第i个有效的第二数据请求消息所对应的广播节点的转发能力值;
[0103] Cv表示节点v的转发能力值,cv∈[0,1.0]。
[0104] 优选的,将当前节点与作为基站的节点之间的距离记录在第二数据请求消息中,以方便计算。
[0105] 使用转发能力值来确定候选中继列表,使得本发明方法无需提前计算最优数据采集路径。在转发能力值的计算过程中,考虑了节点与接收基站的距离及自身剩余能量,并且考虑了该节点的候选中继节点的个数,每个候选中继节点的转发能力值,以及数据采集过程中本节点的后续传输路径上的节点的转发能力值,将这些因素进行了综合计算,因而可以准确度量该节点作为候选中继节点的能力。整个计算过程所需的计算步骤、传输数据量和存储数据量都较小,更适合应用于资源受限的传感器设备。
[0106] 优选的,将当前节点的转发能力值记录在第二数据请求消息中,以方便在构造候选中继节点列表时,对候选中继节点排序。
[0107] 前述或以下实施方案中任一项方法,进一步通过设置广播计时器来控制重新广播感知数据消息的时间,所述步骤S7在广播感知数据消息的同时,还包括下述步骤:
[0108] S701、在构造感知数据消息的节点上,设置并启动所述感知数据消息对应的广播计时器;
[0109] S702、监听感知数据消息的确认消息;若监听到感知数据消息的确认消息,执行步骤S703;否则,执行步骤S704;
[0110] S703、停止所述广播计时器计时;
[0111] S704、判断所述广播计时器计时是否结束;若所述广播计时器计时结束;执行步骤S705;
[0112] S705、重新广播所述感知数据消息并重启所述广播计时器;返回步骤S702。
[0113] 前述或以下实施方案中任一项方法,进一步通过设置任务计时器来控制节点收到感知数据消息发送时间,以确保转发感知数据消息的节点是当前优先级高的节点,即所述步骤S7在广播感知数据消息之前,还包括下述步骤:
[0114] S711、启动当前节点上的任务计时器;
[0115] S712、在所述任务计时器处于终止时间时,将当前节点上的候选中继节点列表加入到接收的感知数据消息中。
[0116] 本公开的另一方面,针对前述实施方案中任一项方法,提出了一种无线传感器网络的节点,所述节点采用上述方法广播消息和接收消息。
[0117] 图1提供了一种完备的数据采集方法,其包括前述方法步骤。对于前述未给出的操作,比如若接收的第二数据请求消息无效的处理,在图1中为丢弃无效的第二数据请求消息,或者不处理。这些图1中给出的前述方法中未给出的操作,可以有其它的方式处理,并不是必须按照图1这样处理。
[0118] 在一个实施例中,提供了一种节点,所述节点主要采用图1所示的方法广播消息和接收消息。所述节点包括基站。根据图1,同一节点接收不同消息,具有不同的操作。将方法应用于节点时,可以区别节点的类型,比如基站、基站的邻居节点、不是基站的邻居节点,不同类型的节点接收其能力范围内的消息,然后执行相应的操作。但是,为了方便部署,且在野外工作时,不因某个类型的节点出现问题而导致数据无法采集,可以优选使每个节点都具有处理不同消息的能力。
[0119] 下面根据节点类型阐述不同类型的节点可能具有的操作,所述操作中的主要部分已经在图1中体现,为了清楚,还包括图1中未表达的内容。
[0120] 1、基站
[0121] (1.1)基站广播第一数据请求消息。
[0122] (1.2)若所述基站在设定时间内未收到所请求的数据,则基站广播对该数据停止采集的消息。
[0123] (1.3)若所述基站收到所请求的数据,则基站广播收到所请求数据的确认消息。
[0124] 2、基站的邻居节点
[0125] (2.1)若节点收到基站广播的第一数据请求消息,若所述节点没有所请求的数据,则计算转发能力值,并构造并广播第二数据请求消息;其中,所述第二数据请求消息包括所述第一数据请求消息、当前节点标识、当前节点与基站的距离,以及当前节点的转发能力值。若所述节点有所请求的数据,则将构造包含该数据的感知数据消息,发给基站,基站收到该感知数据消息后,取出数据,广播收到所请求数据的确认消息。
[0126] (2.2)若节点收到感知数据消息,若其不在该感知数据消息的候选中继节点列表中,或者已经存储过感知数据,则不处理或者丢弃接收的感知数据消息。若其在该感知数据消息的候选中继节点列表中,且没有存储该感知数据消息中的感知数据,则存储所述感知数据。启动任务计时器,在任务计时器处于终止时间时,构造包含感知数据的感知数据消息并广播。同时启动广播计时器,监听该节点广播的感知数据消息的确认消息,若在监听过程中,所述广播计时器计时结束,则重新广播所述感知数据消息并重启所述广播计时器;直至监听到所述感知数据消息的确认消息。由于是基站的邻居节点,其广播的感知数据消息的接收对象是基站,因此也可以约定其广播的感知数据消息只有感知数据。但为了和其它不是基站的邻居节点的感知数据消息形式统一,所述感知数据消息包含所请求的感知数据和空的候选中继节点列表。在这种情况下,节点部署时不需要区分是否为基站的邻居节点。
[0127] (2.3)若节点收到对该数据停止采集消息,则广播该消息,进入休眠状态。若节点此时有该数据的感知数据消息,在进入休眠状态之前,先停止并删除该感知数据消息对应的计时器,然后丢弃该感知数据消息。
[0128] 3、不是基站的邻居节点
[0129] (3.1)若节点收到第二数据请求消息,首先,判断所述第二数据请求消息是否收到过。若收到过,则丢弃。若没收到过,则判断所述第二数据请求消息是否有效。若无效,则丢弃;若有效,建立第二数据请求消息集合,判断所述第二数据请求消息集合中的第二数据请求消息是否有效,并将所有有效的第二数据请求消息中的节点添加到节点上的候选中继节点列表中。其次,判断自身是否有所请求的数据,若没有,则计算自身的转发能力值,构造自身的第二数据请求消息并广播。若有所请求的数据,则构造感知数据消息并广播。在广播的同时,启动节点上该数据包对应的广播计时器,监听该节点广播的感知数据消息的确认消息,若在监听过程中,所述广播计时器计时结束,则重新广播所述感知数据消息并重启所述广播计时器;直至监听到所述感知数据消息的确认消息。
[0130] (3.2)若节点收到感知数据消息,相应操作同(2.2)。
[0131] (3.3)若节点收到对该数据停止采集消息,相应操作同(2.3)。
[0132] 若节点收到重复的第一数据请求消息、或者重复的第二数据请求消息、或者自己广播的第二数据请求消息,则丢弃这些数据请求消息。
[0133] 针对前述实施方案中任一项方法,本发明提出了一种无线传感器网络,所述网络包括节点,所述节点采用上述方法进行消息广播。
[0134] 下面实施例中结合附图1-2阐述本公开的方法。
[0135] 在这个实施例中涉及的通用参数的取值如下:α=0.4,β=0.2,γ=0.3,E=500。
[0136] 计时器设置时间长度时遵照下述原则:
[0137] (I)所述感知数据消息在发送节点上对应的广播计时器设置的时间长度大于其在接收节点上对应的任务计时器设置的时间长度;
[0138] (II)且所述感知数据消息在节点上设置的广播计时器或任务计时器的时间长度与该节点的转发能力相关,转发能力越强,该节点设置的广播计时器或任务计时器的时间长度越短。
[0139] 在这个实施例中:
[0140] 若当前节点接收感知数据消息,在该节点上,感知数据消息对应的任务计时器的时间长度依照下述公式设定:
[0141] (k-1)×τ   (3)
[0142] 式(3)中:k为当前节点在候选中继节点列表上的位置,k为大于等于1的自然数;τ为正整数。
[0143] 若当前节点发送感知数据消息,在该节点上,感知数据消息对应的广播计时器的时间长度依照下述公式设定:
[0144] (l-1)×τ+τ′   (4)
[0145] 式(4)中:τ为正整数,τ′是小于τ的正整数,l为当前节点在候选中继节点列表的位置。
[0146] 通过公式(3)可以看出,若当前节点在候选节点列表的第一个位置,即k为1,则该节点将自身节点的候选中继节点列表与所请求的数据构成感知数据消息,并广播该感知数据消息,设置该感知数据消息所对应的广播计时器。
[0147] 在这个实施例中,设定τ的值20,τ′的值为5。
[0148] 根据图1的活动图,图2中的无线传感器网络采集数据的过程如下:
[0149] 基站BS广播第一数据请求消息,将该第一数据请求消息设为r。由于距离因素,只有节点v12,v13,v14和v15收到了第一数据请求消息r,这些节点分别按照公式(1)计算自身节点的转发能力值,将这些携带的转发能力值相应的记作 和
[0150] 将节点v12的剩余能量记作 此时值为450,将节点v12与基站的距离进行归一化处理后的值为0.05,即: 计算节点v12的转发能力值 如下:
[0151]
[0152] 同理,可以计算节点v13,v14和v15的转发能力值 和 假设计算结果分别为
[0153] 节点v12构造第二数据请求消息 并广播第二数据请求消息 同理,节点v13,v14和v15分别构造各自新的第二数据请求消息
并分别广播第二数据请求消息
[0154] 若节点v12,v13,v14和v15再次接收到第一数据请求消息r,则丢弃,以避免对数据请求消息的多次重复转发,避免了网络数据广播暴,也在一定程度上节省了能量消耗,从而有利于延长网络生存期。
[0155] 节点v11收到周围邻居节点v12和v15广播的第二数据请求消息,将节点v11自身与基站之间的距离和节点v12与基站之间的距离进行比较,判断节点v12广播的第二数据请求消息 有效;同理,判断节点v15广播的第二数据请求消息 有效。
[0156] 节点v11分别获取有效的第二数据请求消息 中的节点v12、v15,按照节点v12、v15的转发能力值 进行排序构造候选中继节点列表。在本实施例中按照转发能力值从大到小的顺序,并将节点v11上的候选中继节点列表记作也可以从小到大排序。
[0157] 节点v11按照公式(2)计算本节点的转发能力值 若此时节点v11的剩余能量e11的值为370,其与基站之间的距离进行归一化后的值 为0.1,则节点v11转发能力值计算如下:
[0158]
[0159] 节点V11构造并广播第二数据请求消息
[0160] 其它收到邻居节点广播的第二数据请求消息的节点,若其没有所请求的数据,进行相同的操作,直至最终所有节点都计算得出自己的转发能力值,并确定了周围邻居节点作为候选中继节点的优先关系(即构造出了候选中继节点列表)。
[0161] 在这个实施例中,节点v7有基站所请求的数据,将该数据记作d7。当节点v7收到第二数据请求消息后,构造了候选中继节点列表 在这个实施例中,候选中继节点列表具体为 节点v7构造感知数据消息,将该感知数据消息记作p7,将其构造的候选中继节点列表 加入到感知数据消息p7中,p7=((v12,v11,v10,v8),d7)。
[0162] 节点v7广播所构造的感知数据消息p7,感知数据消息p7中候选中继节点列表长度为4,根据公式(4)计算启动该感知数据消息p7所对应的广播计时器的值为(4-1)×20+5=65。
[0163] 当感知数据消息p7所对应的广播计时器减小到0时,则重新广播感知数据消息p7,并重新启动广播计时器。
[0164] 因无线信道质量和稳定性等影响,假设节点v7的邻居节点中只有节点v3,v5,v11和v8共计4个节点收到了节点v7广播的感知数据消息p7。由于节点v11和v8判断该感知数据消息为首次接收且其在数据包的候选节点列表 中,因此节点v11和v8分别根据其在候选节点列表 中的自然数位置2和4,分别设置该感知数据消息对应的任务计时器的值为20和60,并开始计时。由于节点v3,v5判断自身节点不在新接收到的感知数据消息p7所列出的候选节点列表 中,因此节点V3,v5丢弃感知数据消息p7。
[0165] 节点v11中感知数据消息p7对应的计时器首先减小到0,此时,节点v11优选先构造并广播针对感知数据消息p7的确认消息,再构造感知数据消息p11。然后将自身节点的候选中继节点列表 加入到数据包p11中,即p11=((v15,v12),d7),广播感知数据消息p11,设置该感知数据消息p11所对应的广播计时器,并开始计时。
[0166] 节点v7收到对感知数据消息p7的确认消息,停止并删除针对感知数据消息p7的广播计时器,同时丢弃感知数据消息p7。在这个实施例中,节点v11收到节点v12广播的关于感知数据消息p11的确认消息时,停止并删除针对感知数据消息p11的广播计时器,同时丢弃感知数据消息p11。当感知数据消息p11在节点v12上对应的任务计时器为0时,构造包含数据d7的感知数据消息p12并广播,同时启动该感知数据消息对应的广播计时器,基站接收到该感知数据消息p12,从感知数据消息p12中取出数据,并广播对该感知数据消息p12的确认消息。节点v12停止并删除针对感知数据消息p12的广播计时器,同时丢弃感知数据消息p12。
[0167] 采用这种方式,无线传感器网络可以快速清除无需转发的数据包,从而减少数据传输次数,减少能量消耗,增加网络生存期。
[0168] 以上对本公开进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
QQ群二维码
意见反馈