CN104955068B - 一种基于关联模式的数据聚合传输方法 - Google Patents
一种基于关联模式的数据聚合传输方法 Download PDFInfo
- Publication number
- CN104955068B CN104955068B CN201510340672.1A CN201510340672A CN104955068B CN 104955068 B CN104955068 B CN 104955068B CN 201510340672 A CN201510340672 A CN 201510340672A CN 104955068 B CN104955068 B CN 104955068B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- child
- err
- child node
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Abstract
本发明公开了一种基于关联模式的数据聚合传输方法,步骤1:基于无线传感网络建立汇聚路由表;步骤2:数据聚合以及传输;对于任何一个节点,聚合数据pkts是一个数据包的集合,其格式为{(i,v,kv,l,u,)},每一个节点将本节点采集的数据和本节点的子节点发来的数据进行聚合后再发送给本节点的父节点;步骤3:数据恢复;根据根节点从子节点处收到的数据以及根节点与子节点的关联模式,恢复它的子节点的数据,然后根据子节点的数据以及子节点与孙子节点的关联模式,恢复出孙子节点的数据。该基于关联模式的数据聚合传输方法数据传输效率高,实现方法简便,易于实施。
Description
技术领域
本发明涉及一种基于关联模式的数据聚合传输方法。
背景技术
无线传感网络被广泛的部署于各种物理系统中,主要用于各种物理信号的采集和监控。各种节点一般除了需要承担数据采集的任务外,还需要为周边节点提供数据转发服务。
一般而言,为了确保采集/监测数据的可靠性和准确性,通常会密集部署大量的节点,使得节点的监测范围相互重叠。由于物理系统在很大程度上具有连续性的特点,邻近所侦测的物理数据往往差异很小。
就无线传感网络而言,各种传感节点通常为电池供电,节点的生命周期与网络的整体性能密切相关,较长的节点生命周期能为网络的长期工作提供有效的支撑。
由于物理信息在空间和时间上存在一定的连续性,并且无线传感网络中节点的部署相对密集,因此邻近节点所采集的信息中存在大量的冗余数据。根据无线传感网络中节点的任务设计,这些数据(包括有价值的数据和冗余数据)会被节点处理打包并发送至区域结点。处理和转发这些冗余数据将过多的消耗节点本身的存储电力,缩短节点的生命周期(即待机时间)。当网络中某一些节点因为能量消耗殆尽而失效时,网络的稳定性就会大大降低,并且失效节点的邻近节点将不得不重新获取和计算数据传输的路径,这无疑又进一步加剧了其它节点的能量消耗,形成恶性循环,从而对整个网络的性能产生非常不利的影响。
典型的解决方法是构造一些特殊的网络协议,使得这些冗余数据在由源传感节点向区域结点传递的过程中在某些中间节点“碰撞”,由中间节点判断这些发生碰撞的数据是否具有冗余特性。如果存在冗余,中间节点会选择“丢弃”这些冗余数据,以减少冗余数据在网络中的处理和传递,降低无线传感网络中各个节点的能量损耗,延长网络的生命周期。
这种“丢弃”冗余数据的方法带来三个问题:
●如何设定数据的传递协议,以确保来自不同源传感节点的数据在中间节点以较高的概率发生“碰撞”;
●如何判定发生“碰撞”的数据为冗余数据,避免“丢弃”非冗余数据;
●在传输的目的端(即区域结点)如何处理所接收到的精简的数据,恢复出全部的数据,确保所获取数据的质量,提高整个无线传感网络的准确性。
因此,有必要设计一种基于关联模式的数据聚合传输方法。
发明内容
本发明所要解决的技术问题是提供一种基于关联模式的数据聚合传输方法,该基于关联模式的数据聚合传输方法数据传输效率高,实现方法简便,易于实施。
发明的技术解决方案如下:
一种基于关联模式的数据聚合传输方法,针对包含多个节点的无线传感网络,包括以下步骤:
步骤1:基于无线传感网络建立汇聚路由表;
汇聚路由表用于表征数据从子节点、父节点并最终传输到根节点的数据汇聚路径;步骤2:数据聚合以及传输;
对于任何一个节点,聚合数据pkts是一个数据包的集合,其格式为{(i,v,kv,l,u,)},其中i是节点id【id是指身份信息,如节点号】,v是节点i采集的数据,kv是未被i消除的数据的集合,u和l分别是i发送数据的累计误差的上限和下限;【u,l的初值都等于误差阈值e】,【e是一个与本发明具体应用实例相关的值,是具体应用实例定义的误差容忍范围。】
每一个节点将本节点采集的数据和本节点的子节点发来的数据进行聚合后再发送给本节点的父节点;
基于汇聚路由表,聚合数据从最底层的子节点向根节点传输;
步骤3:数据恢复;
根据根节点从子节点处收到的数据以及根节点与子节点的关联模式,恢复它的子节点的数据,然后根据子节点的数据以及子节点与孙子节点的关联模式,恢复出孙子节点的数据,依次类推,直至恢复出所有节点的数据。
所述的步骤1包括以下步骤:
(3)节点间关联模式的挖掘;
1.1初始化所有节点不相关;
1.2对于任意相邻的节点A和B,由于A和B均为传感节点,计算A和B最近采集到的m个数据之间的标准差:
c=Mean(dif)=(Δd1+Δd2+…+Δdm)/m,Mean表示取平均值;
1.3如果标准差小于误差阈值e,则设定节点A对节点B的关联模式为c,c的取值为A和B最近接收到的m个数据的偏差的均值,m取1~10之间的自然数;
(4)基于节点间关联模式的挖掘建立表征整个网络关联关系的关联图,并建立汇聚路由表;
关联图基于节点间关联模式的挖掘产生;在关联图的各连通分支内,选择距离区域节点最近的节点作为根节点,并基于根节点构建所有连通分支的最短路径汇聚树;
最短路径汇聚树表征各节点与其子节点相关联,各节点基于该最短路径汇聚树进行数据汇聚;最后,基于最短路径汇聚树生成汇聚路由表;
过程如下:
2.1初始化父节点向量P(i)为0,P(i)表示节点i的父节点,P(i)为0表示节点i没有父节点;
2.2初始化子节点向量M(i)为NULL,M(i)表示节点i的子节点的集合,M(i)为NULL表示节点i没有子节点;
2.3选择距离区域节点最近的节点为根节点;
2.4建立最短路径汇聚树,并为每个节点构造父节点向量P和子节点向量M;
2.5根据所有节点的父节点向量P和子节点向量M构建汇聚路由表。
所述的步骤2中,针对每一个节点,将本节点采集的数据以及本节点的所有的子节点发来的数据进行聚合后再发送给本节点的父节点,聚合的过程为:
(1)对于节点接收到来自子节点的任意数据包,求取来自子节点的聚合数据与本节点自身数据的偏差err;
(2)如果err与误差阈值e存在关系:
|err|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
(3)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|>e或者|err+u|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
(4)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|=e或者|err+u|=e,
则消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=0
u=0
(5)否则,消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=min(err,err+l)
u=max(err,err+u)。
所述的步骤3中,数据恢复的过程如下:
(1)对于区域节点接收到的子节点上传的聚合数据包pkts中的每一个数据(i,v,kv,l,u,)执行如下操作:
c)如果kv不为空,则对于kv中的每个数据(k,v)执行数据恢复,即节点k的数据为v-c,并将v-c加入最终数据集合;
d)节点i的数据为i-c,并将i-c加入最终数据集合;【kv为空或者按照a)方法将kv中所有数据处理完毕后的情况】
最终数据集合即为区域节点恢复出的全部数据。
系统在每一个时间片中进行一次全局的c的更新,具体的更新方法不在本发明讨论范围内。也可以将c作为一个固定值。
本发明具有以下特点:通过相关节点历史数据的标准差进行判定,关联模式挖掘算法仅考虑相邻节点之间的关联模式挖掘,以大幅度降低计算量;汇聚路由算法采用最短路径树路由;为避免数据累积误差,本发明公开的数据聚合算法在消除关联数据的同时,将消除误差同步向后传递,当累积误差超过阈值时,不再进行数据聚合。
本发明的技术路线说明:
由于物理信息在一定空间范围的保持渐变特性,使得邻近节点监测的数据相似或者差值近似恒定。并且,节点所采集的数据通常会沿着某个相对固定路径发送给区域节点,因此相互关联的数据会以一定的概率在某个中间节点(称为汇聚节点)相遇。据此就可以在路径交汇的汇聚节点对冗余数据进行处理,消除关联数据,从而降低数据传输量和通信干扰,达到延长节点生命期的目的。将这种消除冗余数据的处理方式称为数据聚合,同时将传输终端恢复所有数据的处理方式称为数据恢复。
通过分析物理现象中常见的关联现象,设本发明公开了一种挖掘节点间关联模式的方法,并基于此方法,提出了一种基于关联模式的数据聚合算法(Correlate ModelBased,CMB),不仅能够依据关联模式消除关联数据,同时能够在预定义的误差范围内,根据聚合数据恢复出原始数据。相较于已有的算法,CMB不仅提高了聚合度,同时提高了数据质量。
一般而言,多数采样节点的数据差值基本恒定。因此可以使用某个常数c来拟合两节点的数据差值序列。如果拟合误差小于某个阈值,则可以判定两节点相关,同时得到两节点的关联模式为c。当已知两节点的关联模式c后,汇聚节点在接收到两节点的数据d1,d2时,如果d1-d2≈c,则只需发送d1即可,位于传输终端的区域结点可以利用d2≈d1-c恢复出d2的值;否则就将d1与d2同时发送给区域结点。这样就能够在保证数据质量的同时,消除相关冗余。
根据本发明公开的内容,可以从上述这四个方面分别阐述本发明的技术细节。为了便于说明,将本发明所公开内容中的符号说明列表如下:
一、关联的判定方法
由于物理现象的空间渐变特征,使得空间相关性一般表现为:在一定时间范围内,临近节点间采集的数据相同或相近,或者差值近似恒定。根据这种现象,本发明公开的相关性判定方法如下:
假设已知某一时间范围内,A和B节点采集到的m个连续的历史数据分别为(dA1,dA2,…,dAm),(dB1,dB2,…,dBm),则A,B节点的相关性判定过程为:
m的取值与具体的系统相关,较大的m取值能够提高数据聚合率,但同时也会加大区域节点恢复数据的误差;而较小的m取值能够降低区域节点恢复数据的误差,但同时也会使数据聚合率降低。因此,在时间稳定性较好的系统中,推荐使用较大的m取值,而在时间稳定性较低的系统中,推荐使用较小的m值。一般而言,m取1~10之间的值。
通过上述判定方法,不仅能够判定A,B节点间的关联性,同时能够确定其关联模式。当汇聚节点接收到A,B的数据后,首先计算关联误差err=dA-dB-c,如果|err|<e,则汇聚节点只需发送dA,而区域节点则可以利用dB=dA-c恢复出dB,恢复误差为err,确保了数据能够在误差为e的范围内有效恢复。
算法:关联模式判定
1.计算A、B节点的数据差值,形成差值序列dif=(Δd1,Δd2,…,Δdm),其中Δdi=dAi-dBi;
2.计算均值c=Mean(dif)=(Δd1+Δd2+…+Δdm)/m,可以证明c对dif的拟合误差最小;
3.根据c计算dif的拟合误差(标准差)
4.如果error小于用户指定误差阈值e,则两节点相关,关联模式为均值c;
5、否则两节点不相关。
二、关联模式的挖掘
从原理上看,无线传感网络中任意两个节点之间均可能存在关联,但这样会导致经常性的关联矩阵的计算,这无疑将导致巨大的计算开销,不利于节点生命周期的延长。因此,在关联模式的挖掘方式上,本发明公开的算法仅挖掘相邻节点的关联模式,具体见如下算法:
算法:关联模式的挖掘
1.初始化所有节点不相关;
2.对于任意相邻的节点A和B,由于A和B均为传感节点,计算A和B最近采集到的m个数据【节点A和B自身的采集到的数据】之间的标准差:
c=Mean(dif)=(Δd1+Δd2+…+Δdm)/m
3.根据c计算dif的拟合误差(标准差)
4.如果标准差error小于阈值e,则设定节点A对节点B的关联模式为c,c的取值为A和B最近接收到的m个数据的偏差的均值,同时设定节点B对节点A的关联模式为-c。
通过上述算法,能够以较低的计算代价获取任意相邻节点的关联模式。
三、汇聚路由算法
判定关联性的过程中使用了节点的历史信息,这也就意味着关联模式是存在时效的,所以需要使存在关联的节点产生的数据尽快产生“碰撞”。因此,本发明设计了一种高效的汇聚路由算法,能确保存在关联的节点产生的数据以较高的概率发生“碰撞”,进而能进行数据汇聚。
具体处理上,通过构建一张关联图来说明整个网络的关联关系。关联图由关联矩阵构成(关联矩阵中每个元素由前一步骤“关联性判定”产生)。在关联图的各连通分支内,选择距离区域节点最近的节点作为根,并据此构建连通分支的最短路径汇聚树。在构建过程中,CMB将各节点的父节点、子节点以及与子节点的关联模式等信息发送给相应节点。依据关联图构建最短路径汇聚树,使得各节点与其子节点高度相关,同时能够使得数据能够尽快的汇聚。
通过上述算法,实际上是构建了一个路由表,使得具有相互关联特性的数据在路由转发的过程中能尽快的汇聚,以利于冗余数据的处理。
算法:汇聚路由算法
1.初始化向量P(i)为0,P(i)表示节点i的父节点,P(i)为0表示节点i没有父节点;
2.初始化向量M(i)为NULL,M(i)表示节点i的子节点的集合,M(i)为NULL表示节点i没有子节点;
3.选择距离区域节点最近的节点为根节点;
4.建立最短路径生成树,并为每个节点产生父节点向量P和子节点向量M;
根据父节点P和子节点M构成汇聚路由表。
图1的网络由15个节点组成,节点之间的边表示对应节点相邻且距离为边上所标注的数值。节点0为区域节点(标记为S)。根据上述算法,节点1距离区域节点S最近(距离为1),选择节点1为根节点(标记为R)。
根据算法,可获得最短路径树和每个节点的父/子节点向量如图2。
由于在数据聚合的应用背景下,所有数据报文的目的节点都是根节点R,因此路由表结构非常简单,汇聚路由表如下:
本节点号 | 下一节点号 |
2 | 3 |
3 | 1 |
4 | 1 |
5 | 1 |
6 | 1 |
7 | 3 |
8 | 9 |
9 | 7 |
10 | 5 |
11 | 9 |
12 | 13 |
13 | 10 |
14 | 10 |
四、数据的聚合与恢复方法
依据确定的关联信息,需要在汇聚节点对具有关联特性的数据进行聚合处理,“丢弃”冗余数据,在区域结点对数据进行恢复,以完成无线传感网络的整体功能。
●数据聚合的处理
遵循本发明公开的汇聚路由算法,在路由构建完成后,数据将沿着汇聚树进行汇聚,同时各节点已经知晓与其子节点(各节点与其子节点的关系由汇聚路由算法给出)的关联模式。因此,在接收到子节点的数据后,节点可以计算自身数据与子节点数据的关联误差err。如果|err|<e,则消除此数据,否则将其合并到发送的聚合数据中。对于任何一个节点,聚合数据pkts是一个数据包的集合,其格式为{(i,v,kv,l,u,)},其中i是本节点的子节点id,v是i的采集数据,kv是未被i消除的数据的集合,u和l是i发送数据的累计误差的上下限。
另外节点还需将子节点的聚合后数据合并到自身的聚合后数据中,以将其发送给区域节点。
以节点7接收到节点9的聚合数据pkts为例,节点9的聚合数据包格式如图3.
当节点9的数据(即100)能被节点7聚合消除时,节点7的聚合数据格式为:
{(7,103,null,3,5)}
当节点9的数据不能被节点7聚合消除时,节点7的聚合数据格式为:
{(7,120,(9,100),3,5)}
而在完成对所有子节点的数据的聚合后,节点会将聚合数据和自身数据发送给父节点,由父节点继续进行聚合。但是由于节点消除了一部分数据,使得聚合数据存在误差(l1,u1)。同理,父节点也会产生误差(l2,u2),总误差会累积为(l1+l2,u1+u2)。在汇聚过程,误差会不断累积,当其大于e时,某些数据将无法在精度e内恢复。为了解决这个问题,需要将累积误差也发送给父节点。当子节点的累积误差大于e时,节点同样把来自其子节点的数据合并到聚合数据中,这样确保了所有数据都能够在误差e内恢复。
算法:数据聚合算法
1.对于节点接收到来自子节点的任意数据包,求取来自子节点的聚合数据与本节点自身数据的偏差err;
2.如果err与误差阈值e存在关系:
|err|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
3.否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|>e或者|err+u|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
4.否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|=e或者|err+u|=e,
则消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=0
u=0
5.否则,消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=min(err,err+l)
u=max(err,err+u)
算法的处理流程参见图4.
●数据恢复的处理
数据恢复是上述数据聚合的逆过程,首先根据根节点的数据以及根节点与子节点的关联模式,恢复它的子节点的数据,然后根据子节点的数据以及相应的关联模式,恢复出孙子节点的数据,这样不断的重复,直至恢复出所有节点的数据。
算法:数据恢复算法
1.对于区域节点接收到的子节点上传的聚合数据包pkts中的每一个数据(i,v,kv,l,u)执行如下操作:
a)如果kv不为空,则对于kv中的每个数据(k,v)执行数据恢复,即节点k的数据为v-c,并将v-c加入最终数据集合;
b)节点i的数据为i-c,并将i-c加入最终数据集合;
2.最终数据集合即为区域节点恢复出的全部数据。
随着环境的变化以及节点间的关联关系和关联模式可能会发生变化,因此系统需根据最新的数据更新节点间的关联模式和网络的路由结构。为此设定当区域节点连续接收的m轮聚合数据中,都包含某些节点的真实数据,则说明这些节点与其它节点的关联关系可能已发生变化,此时区域节点需重新计算这些节点与相邻节点的关联模式,并更新关联矩阵,然后重新构建最短路径汇聚树。
有益效果:
本发明的基于关联模式的数据聚合传输方法,能够很大程度上进行数据聚合、消除冗余数据,并保证数据的精确性。本发明包括关联模式挖掘、使相关数据尽早相遇的汇聚路由(即增大关联数据“碰撞”概率的汇聚路由)、数据的聚合与恢复等步骤,将舍弃冗余数据与误差控制相结合,技能保证数据汇聚的效率,还能保障数据精度,通过与现有方法比较可知,本发明方法的各项实验指标均优于现有方法。
附图说明
图1为关联图;
其中S是区域节点,R是距离区域节点最近的节点,也因此被选择为最短路径汇聚树的根节点。从关联图上能看出所有具有相关的节点的关联关系。
图2为图1得到的最短路径汇聚树的示意图(图中含有每个节点的父/子节点向量);
最短路径汇聚树是由上面关联图(排除区域节点,并选择好根节点后)产生出来的,以保证数据能按照最有效的方式流向根节点。
图3为节点9的聚合数据包格式说明图;
图4为数据聚合流程图;
图5为Intel Berkeley Lab温度传感节点分布图(黑色为传感节点);
图6为三种数据聚合方法的聚合度比较示意图;
图7为三种数据聚合方法的平均误差比较示意图;
图8为三种数据聚合方法的节点平均延迟比较示意图;
图9为三种数据聚合方法的节点平均能耗比较示意图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明:
实施例1:
一种基于关联模式的数据聚合传输方法,针对包含多个节点的无线传感网络,包括以下步骤:
步骤1:基于无线传感网络建立汇聚路由表;
汇聚路由表用于表征数据从子节点、父节点并最终传输到根节点的数据汇聚路径;
步骤2:数据聚合以及传输;
对于任何一个节点,聚合数据pkts是一个数据包的集合,其格式为{(i,v,kv,l,u,)},其中i是节点id【id是指身份信息,如节点号】,v是节点i采集的数据,kv是未被i消除的数据的集合,u和l分别是i发送数据的累计误差的上限和下限;【u,l的初值都等于误差阈值e】,【e是一个与本发明具体应用实例相关的值,是具体应用实例定义的误差容忍范围。】
每一个节点将本节点采集的数据和本节点的子节点发来的数据进行聚合后再发送给本节点的父节点;
基于汇聚路由表,聚合数据从最底层的子节点向根节点传输;
步骤3:数据恢复;
根据根节点从子节点处收到的数据以及根节点与子节点的关联模式,恢复它的子节点的数据,然后根据子节点的数据以及子节点与孙子节点的关联模式,恢复出孙子节点的数据,依次类推,直至恢复出所有节点的数据。
所述的步骤1包括以下步骤:
(5)节点间关联模式的挖掘;
1.1初始化所有节点不相关;
1.2对于任意相邻的节点A和B,由于A和B均为传感节点,计算A和B最近采集到的m个数据之间的标准差:
c=Mean(dif)=(Δd1+Δd2+…+Δdm)/m,Mean表示取平均值;
1.3如果标准差小于误差阈值e,则设定节点A对节点B的关联模式为c,c的取值为A和B最近接收到的m个数据的偏差的均值,m取1~10之间的自然数;
(6)基于节点间关联模式的挖掘建立表征整个网络关联关系的关联图,并建立汇聚路由表;
关联图基于节点间关联模式的挖掘产生;在关联图的各连通分支内,选择距离区域节点最近的节点作为根节点,并基于根节点构建所有连通分支的最短路径汇聚树;
最短路径汇聚树表征各节点与其子节点相关联,各节点基于该最短路径汇聚树进行数据汇聚;最后,基于最短路径汇聚树生成汇聚路由表;
过程如下:
2.1初始化父节点向量P(i)为0,P(i)表示节点i的父节点,P(i)为0表示节点i没有父节点;
2.2初始化子节点向量M(i)为NULL,M(i)表示节点i的子节点的集合,M(i)为NULL表示节点i没有子节点;
2.3选择距离区域节点最近的节点为根节点;
2.4建立最短路径汇聚树,并为每个节点构造父节点向量P和子节点向量M;
2.5根据所有节点的父节点向量P和子节点向量M构建汇聚路由表。
所述的步骤2中,针对每一个节点,将本节点采集的数据以及本节点的所有的子节点发来的数据进行聚合后再发送给本节点的父节点,聚合的过程为:
(1)对于节点接收到来自子节点的任意数据包,求取来自子节点的聚合数据与本节点自身数据的偏差err;
(2)如果err与误差阈值e存在关系:
|err|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
(3)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|>e或者|err+u|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
(4)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|=e或者|err+u|=e,
则消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=0
u=0
(5)否则,消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=min(err,err+l)
u=max(err,err+u)。
所述的步骤3中,数据恢复的过程如下:
(1)对于区域节点接收到的子节点上传的聚合数据包pkts中的每一个数据(i,v,kv,l,u)执行如下操作:
e)如果kv不为空,则对于kv中的每个数据(k,v)执行数据恢复,即节点k的数据为v-c,并将v-c加入最终数据集合;
f)节点i的数据为i-c,并将i-c加入最终数据集合;【kv为空或者按照a)方法将kv中所有数据处理完毕后的情况】
最终数据集合即为区域节点恢复出的全部数据。
系统在每一个时间片中进行一次全局的c的更新,具体的更新方法不在本发明讨论范围内。也可以将c作为一个固定值。
对比目前主流的用于无线传感网络的数据聚合方法YEAST和LEACH,本发明公开的CMB算法优势明显。采用经典的Intel Berkeley Lab中的无线温度传感网络模型做为测试用例(如图6-9,横坐标为节点数),通过评价聚合率、平均误差、节点平均能耗和节点平均延迟四个指标来评价CMB算法。
定义上述四项指标的规则为:
●聚合率=(总数据量-接收数据量)/总数据量;
●平均误差=误差总和/总数据量;
●节点平均能耗=总能耗/节点数;
●节点平均延迟=各节点总跳数/节点数;
设定每个节点接收或者发送一个数据包均产生一个单位的能耗。那么下表给出了CMB算法在不同误差阈值条件下的评价数据。
CMB算法在不同误差阈值条件下的评价数据
对比于YEAST和LEACH算法,CMB在各项指标上均有优势。
Claims (3)
1.一种基于关联模式的数据聚合传输方法,其特征在于,针对包含多个节点的无线传感网络,包括以下步骤:
步骤1:基于无线传感网络建立汇聚路由表;
汇聚路由表用于表征数据从子节点、父节点并最终传输到根节点的数据汇聚路径;
步骤2:数据聚合以及传输;
对于任何一个节点,聚合数据pkts是一个数据包的集合,其格式为{(i,v,kv,l,u)},其中i是节点id,v是节点i采集的数据,kv是未被i消除的数据的集合,u和l分别是i发送数据的累计误差的上限和下限;
每一个节点将本节点采集的数据和本节点的子节点发来的数据进行聚合后再发送给本节点的父节点;
基于汇聚路由表,聚合数据从最底层的子节点向根节点传输;
步骤3:数据恢复;
根据根节点从子节点处收到的数据以及根节点与子节点的关联模式,恢复它的子节点的数据,然后根据子节点的数据以及子节点与孙子节点的关联模式,恢复出孙子节点的数据,依次类推,直至恢复出所有节点的数据;
所述的步骤1包括以下步骤:
(1)节点间关联模式的挖掘;
1.1初始化所有节点不相关;
1.2对于任意相邻的节点A和B,由于A和B均为传感节点,计算A和B最近采集到的m个数据之间的标准差:
c=Mean(dif)=(Δd1+Δd2+…+Δdm)/m,Mean表示取平均值;
dif表示差值序列,dif=(Δd1,Δd2,...,Δdm),其中,Δdi表示A、B节点所采集的第i个数据的差值,Δdi=dAi-dBi,即Δd1、Δd2、...Δdm依次指A、B节点所采集的第1个、第2个...第m个数据的差值;
1.3如果标准差小于误差阈值e,则设定节点A对节点B的关联模式为c,c的取值为A和B最近接收到的m个数据的偏差的均值,m取1~10之间的自然数;
(2)基于节点间关联模式的挖掘建立表征整个网络关联关系的关联图,并建立汇聚路由表;
关联图基于节点间关联模式的挖掘产生;在关联图的各连通分支内,选择距离区域节点最近的节点作为根节点,并基于根节点构建所有连通分支的最短路径汇聚树;
最短路径汇聚树表征各节点与其子节点相关联,各节点基于该最短路径汇聚树进行数据汇聚;最后,基于最短路径汇聚树生成汇聚路由表;
过程如下:
2.1初始化父节点向量P(i)为0,P(i)表示节点i的父节点,P(i)为0表示节点i没有父节点;
2.2初始化子节点向量M(i)为NULL,M(i)表示节点i的子节点的集合,M(i)为NULL表示节点i没有子节点;
2.3选择距离区域节点最近的节点为根节点;
2.4建立最短路径汇聚树,并为每个节点构造父节点向量P和子节点向量M;
2.5根据所有节点的父节点向量P和子节点向量M构建汇聚路由表。
2.根据权利要求1所述的基于关联模式的数据聚合传输方法,其特征在于,所述的步骤2中,针对每一个节点,将本节点采集的数据以及本节点的所有的子节点发来的数据进行聚合后再发送给本节点的父节点,聚合的过程为:
(1)对于节点接收到来自子节点的任意数据包,求取来自子节点的聚合数据与本节点自身数据的偏差err;
(2)如果err与误差阈值e存在关系:
|err|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
(3)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|>e或者|err+u|>e,
则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给本节点的父节点;
(4)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
|err+l|=e或者|err+u|=e,
则消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=0
u=0
(5)否则,消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误差的上/下限
l=min(err,err+l)
u=max(err,err+u)。
3.根据权利要求1-2任一项所述的基于关联模式的数据聚合传输方法,其特征在于,所述的步骤3中,数据恢复的过程如下:
(1)对于区域节点接收到的子节点上传的聚合数据包pkts中的每一个数据(i,v,kv,l,u)执行如下操作:
a)如果kv不为空,则对于kv中的每个数据(k,v)执行数据恢复,即节点k的数据为v-c,并将v-c加入最终数据集合;
b)节点i的数据为i-c,并将i-c加入最终数据集合;
最终数据集合即为区域节点恢复出的全部数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510340672.1A CN104955068B (zh) | 2015-06-18 | 2015-06-18 | 一种基于关联模式的数据聚合传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510340672.1A CN104955068B (zh) | 2015-06-18 | 2015-06-18 | 一种基于关联模式的数据聚合传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104955068A CN104955068A (zh) | 2015-09-30 |
CN104955068B true CN104955068B (zh) | 2018-04-13 |
Family
ID=54169338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510340672.1A Active CN104955068B (zh) | 2015-06-18 | 2015-06-18 | 一种基于关联模式的数据聚合传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104955068B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573836B (zh) * | 2016-02-23 | 2018-12-28 | 中国农业银行股份有限公司 | 数据处理方法及装置 |
CN106953683B (zh) * | 2017-04-13 | 2020-04-07 | 重庆金美通信有限责任公司 | 一种适合基于mf-tdma卫星信道的大规模动态组网的路由实现方法 |
CN107871040A (zh) * | 2017-11-06 | 2018-04-03 | 中煤航测遥感集团有限公司 | 管网连通性分析方法及装置 |
CN110825919B (zh) * | 2018-07-23 | 2023-05-26 | 阿里巴巴集团控股有限公司 | Id数据处理方法和装置 |
CN117596297B (zh) * | 2024-01-17 | 2024-04-19 | 中国海洋大学 | 一种复杂虚拟仪器软件聚合方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281726A (zh) * | 2013-06-13 | 2013-09-04 | 湖南大学 | 基于6LoWPAN协议栈的数据聚合方法 |
EP2648389A1 (en) * | 2012-04-03 | 2013-10-09 | Accenture Global Services Limited | Adaptive sensor data selection and sampling based on current and future context |
CN104394580A (zh) * | 2014-07-29 | 2015-03-04 | 湖南大学 | 基于模式统计的时间冗余数据消除方法 |
-
2015
- 2015-06-18 CN CN201510340672.1A patent/CN104955068B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2648389A1 (en) * | 2012-04-03 | 2013-10-09 | Accenture Global Services Limited | Adaptive sensor data selection and sampling based on current and future context |
CN103281726A (zh) * | 2013-06-13 | 2013-09-04 | 湖南大学 | 基于6LoWPAN协议栈的数据聚合方法 |
CN104394580A (zh) * | 2014-07-29 | 2015-03-04 | 湖南大学 | 基于模式统计的时间冗余数据消除方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104955068A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104955068B (zh) | 一种基于关联模式的数据聚合传输方法 | |
Lee et al. | Data stashing: energy-efficient information delivery to mobile sinks through trajectory prediction | |
Rezaeipanah et al. | A Hybrid Approach for Prolonging Lifetime of Wireless Sensor Networks Using Genetic Algorithm and Online Clustering. | |
CN102300281B (zh) | 一种基于无线传感网络的桥梁状态监测路由方法 | |
Sitanayah et al. | A fault-tolerant relay placement algorithm for ensuring k vertex-disjoint shortest paths in wireless sensor networks | |
CN102916879B (zh) | 一种快速路由收敛方法 | |
CN109547966A (zh) | 输电线路无线传感器网络的路由规划及故障诊断备份方法 | |
CN103001879B (zh) | 减少链路状态通告洪泛次数的方法及设备 | |
CN102196527B (zh) | 一种移动Sink无线传感器网络的路由恢复方法及其恢复协议 | |
CN103259744A (zh) | 一种基于分簇的移动虚拟网络映射方法 | |
CN113411213B (zh) | 基于物联网的自组网拓扑控制方法及协同监测方法 | |
CN101483610A (zh) | 链路状态路由协议的路由更新方法 | |
CN103929782A (zh) | 一种适用于工业无线传感器网络的资源均衡多径路由方法 | |
Dagdeviren et al. | Semi-asynchronous and distributed weighted connected dominating set algorithms for wireless sensor networks | |
Dagdeviren et al. | An energy-efficient distributed cut vertex detection algorithm for wireless sensor networks | |
KR101387248B1 (ko) | 무선 센서 네트워크에서 균형 체인 토폴로지를 생성하는 방법 | |
WO2022262127A1 (zh) | 智慧物联网综合感知系统及方法 | |
CN103957544A (zh) | 一种提高无线传感器网络抗毁性的方法 | |
CN107612806A (zh) | 基于移动汇聚节点的无线传感器网络能量感知与路径架构的数据收集方法 | |
Wang et al. | A survey of compressive data gathering in WSNs for IoTs | |
Zhong et al. | Energy-efficient continuous boundary monitoring in sensor networks | |
CN105429793A (zh) | 一种通讯网络加权链路重要度评估方法 | |
CN109451429A (zh) | 一种Ad Hoc网络虚拟骨干节点识别方法 | |
JP2019176460A (ja) | ネットワーク管理のための方法、装置、非一時的コンピュータ可読媒体、コンピュータプログラム製品及びデータセット | |
Sethi et al. | A multi-agent hybrid protocol for data fusion and data aggregation in non-deterministic 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |