首页> 中国专利> 基于6LoWPAN协议栈的数据聚合方法

基于6LoWPAN协议栈的数据聚合方法

摘要

本发明公开了一种基于6LoWPAN协议栈的数据聚合方法,适配层输入队列接收网络层输出的数据包后,根据报头字段中的通信类别判断该数据包是否为实时性数据:若为实时性数据,则将数据包直接输出到适配层输出队列;若为非实时性数据,则将该数据包在时间粒度T内经过数据聚合处理再输出到适配层输出队列;所述数据聚合处理是指根据数据包报头中的目的地址对接收到的数据包分类,以及按聚合度D和分类进行数据聚合。该基于6LoWPAN协议栈的数据聚合方法通过增加数据聚合功能,实现动态数据聚合机制来减少网络层和MAC层之间的数据通信量,提高网络的实时性。

著录项

  • 公开/公告号CN103281726A

    专利类型发明专利

  • 公开/公告日2013-09-04

    原文格式PDF

  • 申请/专利权人 湖南大学;

    申请/专利号CN201310233531.0

  • 发明设计人 罗娟;潘陈;汪攀武;

    申请日2013-06-13

  • 分类号H04W28/02(20090101);H04W52/02(20090101);H04W80/00(20090101);

  • 代理机构43114 长沙市融智专利事务所;

  • 代理人黄美成

  • 地址 410082 湖南省长沙市岳麓区麓山南路2号

  • 入库时间 2024-02-19 20:21:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-30

    授权

    授权

  • 2013-10-09

    实质审查的生效 IPC(主分类):H04W28/02 申请日:20130613

    实质审查的生效

  • 2013-09-04

    公开

    公开

说明书

技术领域

本发明涉及一种基于6LoWPAN协议栈的数据聚合方法,属于无线6LoWPAN 协议栈研究领域。

背景技术

物联网(Internet of Things,IoT)感知层由大量能量、计算能力和存储能 力等资源受限的嵌入式设备组成。这些资源受限的嵌入式设备以无线的方式互联 成低功耗、低带宽的无线网络。实现无线传感器网络中的异构嵌入式设备之间的 互联互通、更好的将网络中的嵌入式设备与现有的IP互联网无缝连接,成为当今 无线传感器网络面临的新挑战。

IETF于2004年11月正式成立(IPv6over Low Power Wireless Personal  Area Network)6LoWPAN工作组,将IPv6引入以IEEE802.15.4为底层标准的 无线个域网。6LoWPAN是一种研究将IPv6协议应用于无线嵌入式设备上的技术。 该技术的出现很好的满足了无线传感器网络在应用和功能方面新的需求,实现了 IPv6网络层与IEEE802.15.4MAC层的无缝连接。随着IETF对低功耗IPv6网络 协议深入的研究,2008年ISA组织制定了一个基于6LoWPAN的标准-SP100.11A, 它是一个无线工业自动化系统的标准。同年IP500联盟也开始推广基于6LoWPAN 的技术。6LoWPAN网络已经应用于人们生活的方方面面,如室内和建筑工业、卫 生保健工业、个人健康、工业自动化、实时环境监测和汽车工业等。

6LoWPAN网络本质上是一种特殊的无线传感器网络,具有以下几个方面的特 点:(1)网络节点大规模部署,且节点采用无线通信方式,带宽资源受限;(2) 网络层对上层协议数据单元采用IPv6头进行封装;(3)节点资源(能量、存储能 力和计算能力等)极其受限,在复杂环境下节点易于失效;(4)通常情况下,节点 部署在无人值守的环境中并采用电池供电,能量补充困难,因此能量优化问题对 于网络的正常运行尤为重要;(5)6LoWPAN网络的设计是面向具体应用,不同应 用对于QoS有不同的要求;(6)6LoWPAN网络中节点采集的数据量大,且在时间 和空间维度上的冗余性高。针对6LoWPAN以上特点,减少网络中传输的数据量, 提高数据传输效率,降低数据包在无线信道中传输时的冲突,节约能量是 6LoWPAN网络在设计和研究时需考虑的重要问题之一。

数据聚合技术是一种对节点采集或者接收的多个数据进行聚合处理的技术。 该技术通过去除冗余数据、减少网络中传输的数据量,来节约数据发送和接收时 的带宽资源,提高网络数据采集效率。然而,数据聚合同样带来了数据传输时延 的问题。因此,综合考虑网络中的数据聚合以及区分数据实时性成为研究的重点。

因此,有必要设计一种基于6LoWPAN协议栈的数据聚合方法。

发明内容

本发明所要解决的技术问题是提供一种基于6LoWPAN协议栈的数据聚合方 法,该基于6LoWPAN协议栈的数据聚合方法通过增加数据聚合功能,实现动态数 据聚合机制来减少网络层和MAC层之间的数据通信量,提高网络的实时性。

发明的技术解决方案如下:

一种基于6LoWPAN协议栈的数据聚合方法,适配层输入队列接收网络层输出 的数据包后,根据报头字段中的通信类别(Traffic Class)判断该数据包是否为 实时性数据:

A)若为实时性数据,则将数据包直接输出到适配层输出队列;

B)若为非实时性数据,则将该数据包在时间粒度T内经过数据聚合处理再 输出到适配层输出队列;当Hash表中任意一个链表的长度Length=1/ (1-D)时,才触发聚合,是否要加入这一条件在这个步骤中;其中D 聚合度;

所述时间粒度T是一个时间阈值;

所述数据聚合处理是指根据数据包报头中的目的地址(Destination  Address)对接收到的数据包分类,即将目的地址相同的数据包进行聚合, 以及按聚合度D和分类进行数据聚合(数据聚合即将多个数据包进行合并), 所述聚合度为参与数据聚合的数据包个数。

聚合度D的默认值为0,聚合度D的动态调整方法如下:

(1)当适配层输出队列排队时延Queuing Delay≥T,同时(Queuing  Delay-T)/T不大于1时,使得聚合度D增加(Queuing Delay-T)*D/T,以 降低网络层数据包进入适配层输出队列的速度,减少网络中数据包个数,降 低MAC层数据冲突;公式中,【D不为整数】;

其中,T为时间粒度,T=αM/S;

其中α为取值为0~1的相关因子;

M为实际监测的时间长度,S为监测所需的精度;【精度代表监测的频率, 代表单位时间内对数据包的监测次数,为一个标量值,α的值由路由配置人员在 网络初始化时根据网络规模进行测试并设定,具体来说其大小与网络规模呈正相 关。而测试的标准在于找出在固定的M/S以及恒定数据发送率的条件下使得数据 传输平均延时与网络流量的乘积值最小的α】

(2)若Queuing Delay<T,同时(T-Queuing Delay)/T不大于1时,使 得聚合度D采取减少[(T-Queuing Delay)*D/T],从而减少数据聚合等待时延, 减少MAC层空闲时间,提高无线信道利用率。【这种判断或更新由程序计数器实 时对MAC层Queuing Delay进行实时监测。】

使用Hash算法对接收到的网络数据包分类。

该协议的适配层提供了数据聚合的功能模块,该聚合功能的实现包括:

1)数据功能模块的加入,数据聚合功能的实现通过两个模块实现:聚合功 能模块和聚合控制模块。聚合功能模块包括适配层输入队列、数据聚合单元和适 配层出队列。

2)基于聚合条件的动态聚合机制设计,基于聚合条件的动态聚合策略包含 四个要素:聚合条件(P)、聚合度(D)、时间粒度(T)和聚合项(C),当多个数据包 具有相同的聚合条件时将采用一定的聚合度进行数据聚合,保留聚合项,并在时 间粒度内将聚合后的数据包输出到适配层输出队列中进行数据输出。

3)基于聚合条件的动态聚合方法设计,基于聚合条件的动态聚合方法可以 提高传输效率,节约带宽资源,降低传输冲突,提高无线信道利用率。

无线网络以IEEE802.15.4为标准。

适配层体系结构中适配层输入队列接收网络层数据包并对实时性数据直接 输出到适配层数据输出队列中,对非实时性数据输出到数据聚合单元进行数据聚 合后再输出到适配层输出队列。聚合控制模块对聚合参数包括时间粒度T和聚合 度D进行设置,动态调节聚合功能模块的聚合操作。

所述基于数据融合的6LoWPAN协议栈适配层加入数据聚合功能模块。

数据聚合功能的实现通过两个模块实现:聚合功能模块和聚合控制模块。聚 合功能模块包括适配层输入队列、数据聚合单元和适配层输出队列。适配层输入 队列接收网络层数据包并对实时性数据直接输出到适配层数据输出队列中,对非 实时性数据输出到数据聚合单元进行数据聚合后再输出到适配层输出队列。聚合 控制模块对聚合参数包括时间粒度T和聚合度D进行设置,动态调节聚合功能模 块的聚合操作。

本发明所采用的技术方案之二是,所述基于数据融合的6LoWPAN协议栈适配 层基于聚合条件的动态数据聚合机制。

1)聚合策略

聚合策略中包含四个要素:聚合条件(P)、聚合度(D)、时间粒度(T)和聚合 项(C)。数据聚合过程中,当多个数据包具有相同的聚合条件时,将采用一定的 聚合度进行数据聚合,保留进行聚合的网络层数据包,并在时间粒度内将聚合后 的数据包输出到适配层输出队列中进行数据输出。本发明中采用四元组<P,D,T, C>表示聚合策略,其中:

P由网络层IPv6数据包头部字段中的通信流类型(Traffic Class)和目的地 址(Destination Address)组成。通信流类型字段用以对数据实时性和任何需要 特殊处理的数据进行标识;目的地址字段包含数据包中目的IPv6地址。

D表示数据包聚合度,具体定义为某节点接收到的数据包个数Nr与这些数 据包中参与数据聚合的源数据包个数【这里的源数据包是指接收到的数据包中所 包含的所有已经被聚合的数据包】Ns之比即D=(Ns-Nr)/Ns【Ns大于Nr, 因为Nr为已经聚合过了的数据包而Ns为组成这些已经聚合过了的数据包的原始 数据包,所以说Ns>Nr】【d为0~1之间的小数】。聚合度D在聚合参数的设置 中,依据网络负载量的大小在0~1的范围内动态进行设置。

T表示一个固定的阈值,在聚合参数的设置中依据实际应用监测的时间长度 和监测精度来设置,其大小需要跟传播队列延时处在同一个数量级;

C表示数据聚合的具体内容即网络层数据包。

聚合参数的设置包括时间粒度(T)和聚合度(D)的设置。T是一个固定的阈 值,本发明将依据具体应用的实际监测的时间长度(M(s))和监测所需的精度 (S)来设置,即T=αM/S,其中α为取值为0~1的相关因子并与具体的网络 应用有关。对于监测时间较长且监测精度不高的应用,时间粒度将增大,同理对 于监测时间较短且监测精度要求高的应用,时间粒度将变小,从而尽可能获得全 面的监测来对网络服务进行处理和分析。

聚合度(D)表示数据包的聚合粒度,即在一定的聚合条件下将多个数据包进 行合并,达到以更少包头对更多应用数据进行传输,减少头部开销和冗余数据的 传输,提高信道利用率。

本发明提出适配层输出队列排队时延(Queuing Delay),表示当前MAC层时 延大小,并采用回路控制的方式动态调节聚合度的值,减少无线信道中数据发送 时碰撞机率和延时等待时间。该机制是通过对适配层输出队列进行监测来实现, 实时获得Queuing Delay的大小,其具体操作为在节点上设置计数器在第一个数 据包进入队列时开始进行计时,而当队列中的数据包数量为0时计数器清空。网 络开始进行数据传输时网络负载较小,聚合度D默认设置为0;随着网络中采集 的数据量不断增加,网络负载增大。假设Queuing Delay=T时适配层输出队列刚 好出现拥塞情况,则控制回路将根据(Queuing Delay-T)/T的值对聚合度进行 动态调整。当Queuing Delay≥T,同时(Queuing Delay-T)/T不大于1时,聚 合度D将增加(Queuing Delay-T)*D/T,来降低网络层数据包进入适配层输出 队列的速度,减少网络中数据包个数,降低MAC层数据冲突;同理若Queuing  Delay<T,同时(T-Queuing Delay)/T不大于1时,表示当前MAC层数据传输 能力较强,因此控制回路将对聚合度D采取减少(T-Queuing Delay)*D/T进行 处理,从而减少数据聚合等待时延,减少MAC层空闲时间,提高无线信道利用率。

所述基于数据融合的6LoWPAN协议栈适配层基于聚合条件的动态聚合方法, 该方法过程如下:

1)网络层输出队列输出一个数据包Packet到适配层输入队列中,首先依据 Packe中携带的聚合条件P的Traffic Class字段进行数据实时性判断,若 Traffic Class=1,表示实时数据,执行步骤8;若Traffic Class=0,表示 非实时数据,执行步骤2;

2)将适配层输出队列中的非实时Packet携带的数据包聚合条件的Addr作 为Key值,采用Hash函数与适配层Hash表中的Key值进行匹配,并判断是否是 已存在相同Key值,若存在则表明此数据包与先前收到的数据包具有相同的聚合 条件并执行步骤3;若映射位置为空,则表明此数据包具有一个新的聚合条件, 在此情况下执行步骤4;

3)将具有相同匹配项的数据包在Hash表中采用链式存储,并计算该链表的 长度Length,执行步骤5;

4)在适配层Hash表中开辟新的存储空间,对该数据包的目的地址Addr进 行存储,执行步骤5;

5)根据时间粒度T决定适配层队列输入是否结束,当系统适配层队列输入 的时间大于T时则结束,触发该链表输出到适配层输出队列中的缺省队列中,执 行步骤9;反之则未结束,执行步骤6;

6)当Hash表中任意一个链表的长度Length=1/(1-D)时,此时将触发整 个链表输出到适配层数据聚合单元进行数据聚合,执行步骤7;

7)数据聚合单元对多个数据包进行聚合,并将聚合后数据包输出到适配层 输出队列中的缺省队列中,执行步骤9;

8)实时性数据输出到适配层输出队列中的实时队列中,执行步骤9;

9)调用发送模块对数据包进行MAC层数据输出。

通过实施该聚合方法,网络中的数据传输量得到了有效的减少,信道利用率 可以得到显著提升,从而进一步降低网络能量消耗。

有益效果:

本发明的基于6LoWPAN协议栈的数据聚合方法,依据聚合策略将网络层IPv6 数据包进行优先级划分,减少了数据聚合延时给实时数据带来的影响。该算法既 能有效减少6LoWPAN网络中的数据量,降低网络能量消耗,又能为网络中的数据 提供较好的数据实时性保证,以满足6LoWPAN网络的应用需求。

本方法能实现对IPv6网络层数据包进行聚合处理,到达减少IPv6网络层发 送到MAC层的数据量,降低传输控制开销,提高传输的实时性。本发明所采用的 技术方案是:在6LoWPAN的适配层加入数据聚合功能模块。通过设计适配层体系 结构、基于聚合条件的动态聚合机制以及基于聚合条件的动态聚合算法实现对 IPv6网络层数据包进行聚合处理。

附图说明

图1是本发明基于数据融合的6LoWPAN协议栈结构;

图2是本发明适配层功能示意图;

图3是本发明适配层数据聚合体系结构图;

图4是本发明中用于测试聚合性能的网络拓扑图。

图5是本发明聚合度动态调节流程图;

图6是本发明中基于聚合条件的数据聚合方法时延效果图;

图7是本发明中基于聚合条件的数据聚合方法能耗效果图;

图8是本发明中基于聚合条件的数据聚合框图。

具体实施方式

以下将结合附图和具体实施例对本发明做进一步详细说明:

实施例1:

本发明的核心在于对6LoWPAN的适配层加入数据聚合功能模块,对IPv6网 络层数据包进行聚合处理。数据聚合模块的实现包括四个部分,适配层数据聚合 设计,适配层体系结构设计,基于聚合条件的动态聚合机制的实现以及基于聚合 条件的动态聚合算法。其实现方式如下:

1)首先对6LoWPAN的适配层体系结构进行修改加入数据聚合模块。

2)对聚合控制模块相关参数包括时间粒度T和聚合度D进行初始化设置, 实现聚合功能模块动态聚合功能。其中D的默认值为0,而它变化是与T有关的, 其中T的具体设定为:α的值由路由配置人员在网络初始化时在给定的一个固定 的M/S值以及恒定数据发送率的条件下找出使得数据传输平均延时与网络流量 的乘积值最小的α,然后根据网路的具体要求设置实际监测的时间长度M和监 测所需的精度S,从而计算出T。

3)对网络层接收到的数据包A,适配层将其加入到输入队列中,依据A中 携带的聚合条件P的Traffic Class字段进行数据实时性判断,若Traffic Class =1,表示实时数据,则将A输出到适配层输出实时队列中;若Traffic Class= 0,表示A为非实时数据包;

4)将适配层输出队列中的非实时A中携带的数据包聚合条件的Addr作为 Key值,采用Hash函数与适配层Hash表中的Key值进行匹配,并判断是否是已 存在相同Key值,若存在则表明此数据包与先前收到的数据包具有相同的聚合条 件从而将具有相同匹配项的数据包在Hash表中采用链式存储,并计算该链表的 长度Length;若映射位置为空,则表明此数据包具有一个新的聚合条件,在此 情况便在适配层Hash表中开辟新的存储空间,对该数据包的目的地址Addr进行 存储;

5)根据时间粒度T决定适配层队列输入是否结束,当系统适配层队列输入 的时间大于T时则结束,触发该链表输出到适配层输出队列中的缺省队列中,并 调用发送模块对数据包进行MAC层数据输出;反之则表明适配层队列输入未结 束,此时当Hash表中任意一个链表的长度Length=1/(1-D)时,将触发整个链 表输出到适配层数据聚合单元对多个数据包进行聚合,并将聚合后数据包输出到 适配层输出队列中的缺省队列中,其中实时性数据输出到适配层输出队列中的实 时队列中,同时调用发送模块对数据包进行MAC层数据输出。

通过实施该聚合方法,网络中的数据传输量得到了有效的减少,信道利用率 可以得到显著提升,从而进一步降低网络能量消耗。

图1为本发明中基于数据融合的6LoWPAN协议栈结构,其中MAC层和物理层 采用的是IEEE802.15.4标准,网络层只采用IPv6协议。为了实现IPv6能够在 IEEE802.15.4标准上进行传输,在IPv6网络层和IEEE802.15.4MAC层之间加 入了一个适配层。为了更好的实现IPv6网络层与IEEE802.15.4之间的连接, 适配层屏蔽了底层IEEE802.15.4技术对IPv6网络层的限制,因此适配层成为 6LoWPAN协议栈中最为重要的层次。

图2为本发明中适配层功能示意图,适配层实现向上提供IPv6对IEEE 802.15.4介质访问的支持,向下控制6LoWPAN网络的构建、拓扑控制和MAC层 路由等功能。适配层基本功能为:

1)头部压缩

在不使用安全功能的前提下,IEEE802.15.4MAC层提供的最大传输负载为 102B,而IPv6基本头部的长度为40B,再除去适配层和传输层(如UDP)头的长度, 将只有50B左右的负载长度提供给上层应用数据。因此为了满足IPv6在IEEE 802.15.4MAC层传输所需的最大传输单元(MTU),6LoWPAN头部格式在适配层中 将采用无状态和基于上下文两种头部压缩方式【这两种压缩方式是现有的被广泛 应用的技术】对IPv6头部及后续头部的进行压缩,提高数据传输效率,并节约 节点能量。

2)链路层分片与重组

IPv6协议规定数据链路层最小MTU【最大传输单元(Maximum Transmission  Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字 节为单位)。】为1280B,对于不支持该MTU的数据链路层,协议要求必须实现对 IPv6数据进行分片与重组的功能。因此适配层对超过IEEE802.15.4MAC层最 大帧长(127B)的数据进行分片与重组;

3)组播支持

组播技术在IPv6中具有非常重要的作用,特别是IPv6的邻居发现协议的许 多功能的实现都是依赖于IP层组播。IEEE802.15.4MAC层不支持组播功能, 但可以提供有限的广播功能,因此适配层利用可控广播泛洪的方式在整个WSN 中传播IP组播报文;

4)网络拓扑的构建和地址分配

IEEE802.15.4标准对PHY层和MAC层作了详细的定义,其中MAC层提供了 丰富的各种原语,包括网络维护和信道扫描等。但MAC层并不负责调用这些原语 来进行网络拓扑的构建以及维护,因此网络拓扑的构建和维护将由适配层来实 现。6LoWPAN网络中的设备都包含EUI-64地址标识符,但是6LoWPAN网络中节 点的资源非常有限且通常大量部署,若采用EUI-64地址则占用大量的存储空间 和增加报文长度,因此适配层实现16位地址的动态分配机制,来标识网络中的 每个节点;

5)MAC层路由

IEEE802.15.4标准并未定义MAC层的多跳路由,适配层在地址分配机制的 基础上定义了两种路由方式-树状路由和网状路由。

IEEE802.15.4标准并未定义MAC层的多跳路由,适配层在地址分配机制的 基础上定义了两种路由方式-树状路由和网状路由。

在适配层中对于传输的数据,可通过适配层的功能模块组件实现迁移,在异 构网络之间进行互联互操作,以及对IPv6报文的转发;对于实时性要求低的数 据还可以通过数据聚合减少冗余等。

图3为本发明中适配层数据聚合体系结构图,数据聚合功能的实现通过两个 模块实现:聚合功能模块和聚合控制模块。聚合功能模块包括适配层输入队列、 数据聚合单元和适配层出队列。适配层输入队列接收网络层数据包并对实时性数 据直接输出到适配层数据输出队列中,对非实时性数据输出到数据聚合单元进行 数据聚合后再输出到适配层输出队列。聚合控制模块对聚合参数包括时间粒度T 和聚合度D进行设置,动态调节聚合功能模块的聚合操作。

图4是本发明中用于测试聚合性能的网络拓扑图,这里在测试的网络中首先 预设M为100ms,S为0.01,可以得到T=10α;然后在0~1中动态调节α并同时 初始化网络,设置发包率为10个/s,经测试可以得到网络中流量(个/s)与传 输平均时延(s)乘积为21.4个,而所对应的α为0.18。

图5是本发明聚合度动态调节流程图,其中适配层输出队列排队时延 (Queuing Delay),表示当前MAC层时延大小,并采用回路控制的方式动态调节 聚合度的值,减少无线信道中数据发送时碰撞机率和延时等待时间。该机制是通 过对适配层输出队列进行监测来实现,实时获得Queuing Delay的大小。网络开 始进行数据传输时网络负载较小,聚合度D默认设置为1;随着网络中采集的数 据量不断增加,网络负载增大。假设适配层输出队列出现拥塞情况下Queuing  Delay=T,则若Queuing Delay≥T时,控制回路将增大聚合度D的值,来降低网 络层数据包进入适配层输出队列的速度,减少网络中数据包个数,降低MAC层数 据冲突;若Queuing Delay<T时,表示当前MAC层数据传输能力较强,因此通 过降低聚合度D值,减少数据聚合等待时延,减少MAC层空闲时间,提高无线信 道利用率。

图6是本发明中基于聚合条件的数据聚合方法时延效果图,由于使用了动态 的聚合算法,当网络中的负载量加大时,为了减少拥塞的出现,聚合度会自动根 据延时提高,这样网络中的数据包总数会有所下降,最终实现端到端延时的显著 降低。

图7是本发明中基于聚合条件的数据聚合方法能耗效果图,由于使用了由于 使用了动态的聚合算法,当网络中的负载量加大时,为了减少拥塞的出现,聚合 度会自动根据延时提高,那么聚合节点适配层的将要执行更多的聚合操作,进而 加大了节点的能量消耗,但是考虑到显著减少的端到端延时,本发明的方法具有 很高的能量有效性。

图8是本发明中基于聚合条件的数据聚合框图,其中Hash表中的元素由 Hash函数确定。将IPv6数据包中的目的地址(Destination Address)作为自变 量Key值,通过哈希函数计算出数据包在哈希表中的存储地址(Addr),从而实现 将具有相同目的地址的数据包收集到一个队列中为后续的聚合处理做准备。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号