一种基于关联模式的数据聚合传输方法

文档序号:9238850阅读:284来源:国知局
一种基于关联模式的数据聚合传输方法
【技术领域】
[0001] 本发明涉及一种基于关联模式的数据聚合传输方法。
【背景技术】
[0002] 无线传感网络被广泛的部署于各种物理系统中,主要用于各种物理信号的采集和 监控。各种节点一般除了需要承担数据采集的任务外,还需要为周边节点提供数据转发服 务。
[0003] -般而言,为了确保采集/监测数据的可靠性和准确性,通常会密集部署大量的 节点,使得节点的监测范围相互重叠。由于物理系统在很大程度上具有连续性的特点,邻近 所侦测的物理数据往往差异很小。
[0004] 就无线传感网络而言,各种传感节点通常为电池供电,节点的生命周期与网络的 整体性能密切相关,较长的节点生命周期能为网络的长期工作提供有效的支撑。
[0005] 由于物理信息在空间和时间上存在一定的连续性,并且无线传感网络中节点的部 署相对密集,因此邻近节点所采集的信息中存在大量的冗余数据。根据无线传感网络中节 点的任务设计,这些数据(包括有价值的数据和冗余数据)会被节点处理打包并发送至区 域结点。处理和转发这些冗余数据将过多的消耗节点本身的存储电力,缩短节点的生命周 期(即待机时间)。当网络中某一些节点因为能量消耗殆尽而失效时,网络的稳定性就会大 大降低,并且失效节点的邻近节点将不得不重新获取和计算数据传输的路径,这无疑又进 一步加剧了其它节点的能量消耗,形成恶性循环,从而对整个网络的性能产生非常不利的 影响。
[0006] 典型的解决方法是构造一些特殊的网络协议,使得这些冗余数据在由源传感节点 向区域结点传递的过程中在某些中间节点"碰撞",由中间节点判断这些发生碰撞的数据是 否具有冗余特性。如果存在冗余,中间节点会选择"丢弃"这些冗余数据,以减冗余数据在 网络中的处理和传递,降低无线传感网络中各个节点的能量损耗,延长网络的生命周期。
[0007] 这种"丢弃"冗余数据的方法带来三个问题:
[0008] 鲁如何设定数据的传递协议,以确保来自不同源传感节点的数据在中间节点以较 高的概率发生"碰撞";
[0009] ?如何判定发生"碰撞"的数据为冗余数据,避免"丢弃"非冗余数据;
[0010] 鲁在传输的目的端(即区域结点)如何处理所接收到的精简的数据,恢复出全部 的数据,确保所获取数据的质量,提高整个无线传感网络的准确性。
[0011] 因此,有必要设计一种基于关联模式的数据聚合传输方法。

【发明内容】

[0012] 本发明所要解决的技术问题是提供一种基于关联模式的数据聚合传输方法,该基 于关联模式的数据聚合传输方法数据传输效率高,实现方法简便,易于实施。
[0013] 发明的技术解决方案如下:
[0014] -种基于关联模式的数据聚合传输方法,针对包含多个节点的无线传感网络,包 括以下步骤:
[0015] 步骤1 :基于无线传感网络建立汇聚路由表;
[0016] 汇聚路由表用于表征数据从子节点、父节点并最终传输到根节点的数据汇聚路 径;
[0017] 步骤2 :数据聚合以及传输;
[0018] 对于任何一个节点,聚合数据pkts是一个数据包的集合,其格式为{(i,v,kv,1, u,)},其中i是节点id【id是指身份信息,如节点号】,v是节点i采集的数据,kv是未被i 消除的数据的集合,u和1分别是i发送数据的累计误差的上限和下限;【u,1的初值都等 于误差阈值e】,【e是一个与本发明具体应用实例相关的值,是具体应用实例定义的误差容 忍范围。】
[0019] 每一个节点将本节点采集的数据和本节点的子节点发来的数据进行聚合后再发 送给本节点的父节点;
[0020] 基于汇聚路由表,聚合数据从最底层的子节点向根节点传输;
[0021] 步骤3:数据恢复;
[0022] 根据根节点从子节点处收到的数据以及根节点与子节点的关联模式,恢复它的子 节点的数据,然后根据子节点的数据以及子节点与孙子节点的关联模式,恢复出孙子节点 的数据,依次类推,直至恢复出所有节点的数据。
[0023] 所述的步骤1包括以下步骤:
[0024] (3)节点间关联模式的挖掘;
[0025] 1. 1初始化所有节点不相关;
[0026] 1. 2对于任意相邻的节点A和B,由于A和B均为传感节点,计算A和B最近采集 到的m个数据之间的标准差:
[0027] c=Mean(dif) = (AdfAd2+... +Adm)/m,Meam表不取平均值;
[0028] 1. 3如果标准差小于阈值e,则设定节点A对节点B的关联模式为c,c的取值为A 和B最近接收到的m个数据的偏差的均值,m取1~10之间的自然数;
[0029] (4)基于节点间关联模式的挖掘建立表征整个网络关联关系的关联图,并建立汇 聚路由表;
[0030] 关联图基于节点间关联模式的挖掘产生;在关联图的各连通分支内,选择距离区 域节点最近的节点作为根节点,并基于根节点构建所有连通分支的最短路径汇聚树;
[0031] 最短路径汇聚树表征各节点与其子节点相关联,各节点基于该最短路径汇聚树进 行数据汇聚;最后,基于最短路径汇聚树生成汇聚路由表;
[0032] 过程如下:
[0033] 2. 1初始化父节点向量P(i)为0,P(i)表示节点i的父节点,P(i)为0表示节点 i没有父节点;
[0034] 2. 2初始化子节点向量M(i)为NULL,M(i)表示节点i的子节点的集合,M(i)为 NULL表示节点i没有子节点;
[0035] 2. 3选择距离区域节点最近的节点为根节点;
[0036] 2. 4建立最短路径汇聚树,并为每个节点构造父节点向量P和子节点向量M;
[0037] 2. 5根据所有节点的父节点向量P和子节点向量M构建汇聚路由表。
[0038] 所述的步骤2中,针对每一个节点,将本节点采集的数据以及本节点的所有的子 节点发来的数据进行聚合后再发送给本节点的父节点,聚合的过程为:
[0039] (1)对于节点接收到来自子节点的任意数据包,求取来自子节点的聚合数据与本 节点自身数据的偏差err;
[0040] (2)如果err与误差阈值e存在关系:
[0041] err| >e,
[0042] 则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给 本节点的父节点;
[0043] (3)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
[0044] |err+l| >e或者 |err+u| >e,
[0045] 则不进行数据聚合,而将来自子节点的聚合数据和来自本节点的自身数据均发给 本节点的父节点;
[0046] (4)否则,如果err和来自子节点的累积误差上/下限同误差阈值e存在关系:
[0047] |err+l| =e或者 |err+u| =e,
[0048] 则消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新累积误 差的上/下限
[0049] 1=0
[0050] u= 0
[0051] (5)否则,消除来自子节点的数据,仅发送本节点数据给本节点的父节点,并更新 累积误差的上/下限
[0052] 1 =min(err,err+l)
[0053] u=max(err,err+u) 〇
[0054] 所述的步骤3中,数据恢复的过程如下:
[0055] (1)对于区域节点接收到的子节点上传的聚合数据包pkts中的每一个数据(i,v, kv,1,u,)执行如下操作:
[0056] c)如果kv不为空,则对于kv中的每个数据(k,v)执行数据恢复,即节点k的数 据为v-c,并将v-c加入最终数据集合;
[0057] d)节点i的数据为i_c,并将i_c加入最终数据集合;【kv为空或者按照a)方法 将kv中所有数据处理完毕后的情况】
[0058] 最终数据集合即为区域节点恢复出的全部数据。
[0059] 系统在每一个时间片中进行一次全局的c的更新,具体的更新方法不在本发明讨 论范围内。也可以将c作为一个固定值。
[0060] 本发明具有以下特点:通过相关节点历史数据的标准差进行判定,关联模式挖掘 算法仅考虑相邻节点之间的关联模式挖掘,以大幅度降低计算量;汇聚路由算法采用最短 路径树路由;为避免数据累积误差,本发明公开的数据聚合算法在消除关联数据的同时,将 消除误差同步向后传
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1