一种数据融合方法及装置的制作方法

文档序号:7554576阅读:236来源:国知局
专利名称:一种数据融合方法及装置的制作方法
技术领域
本申请涉及无线网络技术领域,特别涉及一种无线传感器网络中数据融合的方法及装置。
背景技术
无线传感器网络,由于低功耗低成本的特性被广泛应用于底层的数据采集。作为一个分布式系统,通过底层的传感器等相关设备进行数据信息采集与汇聚传输,节点众多。同一时间段内可能有着大量节点同时发送数据。有着高并发,大数据量的特点。但由于每个传感器采集数据信息较少,实际传输中每个传感器的数据量其实很少。对于无线传感器网络中高并发量、高数据量、小数据块的数据传输特点,全世界有大量人员在投入时间和精力进行其中的研究。如附图1所示为现有技术中的无线传感网络,网络中的终端节点,通过移动路由协议,协议常为最小跳数就近原则进行接入,经过多次数据的转发后,数据聚集至最终汇聚点。由此可以看到网络中终端节点如果进行直接转发需要大量传输时间与能耗,这种损耗,与转发次数成倍数增长。且由于实际有效数据较短,大部分数据都被报文协议报文头部占用。且严重时可能引起网络信道的高负荷占用,形成抢占难以发送。因此目前的无线传感网络技术存在缺陷,急需改进。

发明内容
本发明要解决的技术问题是提供一种数据融合方法和装置,使得路由节点可以减少转发次数,增大单个数据包数据传输量,降低网络信道的转发负荷。为了解决上述技术问题,本发明提出了一种数据融合方法,包含如下步骤:A、接收终端节点MAC包;B、分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理;C、提取MAC包中的MAC层数据,加入到本地暂存器数据队列之后;D、新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装,发送该新建的MAC包,将本地暂存器数据清空。其中,所述步骤A还包括:Al、对接收到的MAC包进行CRC校验,若校验失败则丢弃该MAC包;A2、判定本机是否为最终汇聚点;是,则停止转发;否,则运行所述步骤B。较佳地,所述步骤A进一步还包括:判定本机是否为当前接收到的MAC包的目标主机;是,则执行所述步骤B ;否,则丢弃该MAC包。较佳地,所述步骤B具体包括如下步骤:B1、分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,判定包头长度与队列长度之和是否大于预设字节;
B2、若小于预设字节,则直接运行步骤C,且开启超时定时器进行预设时间的计时;达到所述预设时间,则运行步骤D ;在未达到所述预设时间的时间段内,时刻等待重新运行步骤A ;B3、若等于预设字节,则直接运行步骤C ;B4、若大于预设字节,则解析MAC包的MAC层数据;若所述MAC层数据为单个网络层数据,则运行步骤D ;其中,所述步骤B4进一步还包括:B5、若所述MAC层数据含有多个网络层数据,则依次解析多个网络层数据;B6将所述网络层数据的字节数和其网络层包头占用字节数按顺序与所述本地暂存器数据的字节数相加后,判断是否超出预设字节;B7、若超出,则运行步骤D,将剩余网络层数据加入到本地暂存器,开启超时定时器;达到所述预设时间,则运行步骤D ;在未达到所述预设时间的时间段内,时刻等待重新运行步骤A ;B8、若未超出,则将当前网络层数据加入到所述本地暂存器数据队列之后,解析下一个网络层数据,运行步骤B6 ;直至解析到最后一个网络层数据,则运行步骤B7。较佳地,所述预设字节取值范围为50-2000字节。本方法基于Zigbee通信协议或wifi通信协议。本发明还提供了一种数据融合装置,包括,接收模块,用于接收终端节点MAC包;数据处理模块,用于分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理;暂存器,用于提取MAC包中的MAC层数据,加入到数据队列之后;数据封装模块,用于新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装;发送模块,用于发送该新建的MAC包,将本地暂存器数据清空。其中,所述数据处理模块中还含有超时定时器,用于所述暂存器加入新数据后,进行计时,以触发对暂存器中的数据进行封装,或,返回继续进行数据融合。较佳地,所述超时定时器设置的预设时间为5000ms。本发明提供的数据融合方法和装置,可以在网络负载较大时,极大的减少数据报文的通讯次数,增大单个数据包数据传输量,从而提高网络的吞吐量,提升了网络传输的效率。


图1是现有技术中的无线传感网络;图2是本发明实施例的无线传感网络;图3是现有技术中的MAC包结构图;图4是本实施中数据融合后的报文格式结构图;图5是本实施例中的数据融合流程图;图6是本实施例中数据融合装置的结构图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。参照图2,为本发明实施例的基于Zigbee协议的无线传感网络,每个路由节点均负责一定区域内的终端节点的数据融合与转发工作,例如图中路由节点4负责终端节点41、终端节点42以及终端节点43的数据融合及转发工作,路由节点4可将融合后的数据通过各个路由节点逐级转发至最终汇聚点。需要说明的是图2仅是无线传感网络中的一种网络拓扑结构,本发明并不限于此网络结构和网络协议。参照图3,为现有技术中的MAC包的结构图,通常MAC包包含MAC层包头,MAC层数据,以及MAC层CRC验证位。其中,MAC层包头可以用于指示MAC层数据长度,MAC层包头用于指示网络层数据长度信息。参照图5,为本发明实施例的数据融合方法,包括步骤S1、接收终端节点MAC包;各终端节点可以采取广播形式,或者定期发送等形式向目标路由节点发送MAC包。当路由节点接收到MAC包后,将进行CRC校验,若校验失败,则认为该包损坏,丢弃该MAC包,不再进一步处理。路由节点还会读取MAC包的包头信息,根据目标地址位Dest的指示,以确定该MAC包的目标路由节点是否为本路由节点,若否,则直接丢弃,若是则进一步进行处理。同时,路由节点还会根据本机芯片地址即IEEE地址判断本路由节点是否为最终汇集点,若是,则不进行转发,若不是,则准备对该包进行数据融合。步骤S2分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理,具体包括如下步骤:分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,判定包头长度与队列长度之和是否大于预设字节;需要说明的是,此处的预设字节可以根据不同的网络协议中单个数据包可占用最大字节数灵活设定,本实施例中基于Zigbee协议最大数据包的容量为127字节,去除MAC层包头、验证位等占用字节后,MAC层数据最大容量可以为80字节,则将该预设字节设置为80字节,用以具体说明本实施例,但80字节并非为该预设字节的限制。路由节点将收到的MAC包,读取其包头长度信息,例如本次接收到的MAC包的MAC层数据为20字节,原始本地暂存器中的数据字节为50字节,则路由节点将MAC层数据20字节与本地暂存器中的数据50字节相加,与预设字节的80字节进行判断,即20+50=70 < 80,则证明将当前MAC包的数据与暂存器中的原有数据融合后,未超过单个包的最大容量,可以进行数据融合操作,以便于进一步转发。同时,为了进一步让每个数据包均可以最大数据容量传输,进一步减少转发次数,提高单个数据包的数据容量,还可以采用超时定时器。例如,设定超时定时器为5000ms,则当判定20+50=70 < 80后,开启超时定时器进行计时,当达到5000ms,路由节点没有接收到新的数据包,则运行步骤S3,在未达到5000ms时,路由节点时刻等待接收新的数据包,以再次进行数据融合处理。再一实施例,若当前收到的MAC层数据字节为30字节,与本地暂存器中的数据50字节相加后,恰好等于80,证明该次数据融合,数据包已经达到最大容量,则直接运行步骤S3。再一实施例,若当前收到的MAC层数据字节为50字节,与本地暂存器中的数据50字节相加后为100字节,大于80字节,证明当前收到的MAC数据包加上本地暂存器的数据已经超过数据包的最大容量,无法进行融合。则对当前的数据包进行解析,网络层包头占用字节为10字节,通过解析该包头信息,可以得到网络层数据的长度信息为40字节,如图MAC层包头结构所示,则通过10+40=50,即网络层包头与网络层数据字节总数与该包MAC层数据字节数相同,可以判定出,该MAC包的MAC层数据为单个网络层数据,则运行步骤S4,并将当前收到的MAC层数据的50字节数据量加入到本地暂存器,开启超时定时器,达到5000ms,未有新的数据需要融合,则运行步骤S4,将数据发送至下一路由节点;在未达到所述预设时间的时间段内,时刻等待本路由节点,接收新的MAC包,以重新运行步骤A。另一实施例,若当前收到的MAC层数据字节为50字节,若判断,该MAC包的MAC层数据为3个网络层数据,则依次对网络层数据做解析,每个网络层的包头均占用10个字节,网络层数据分别为10、5、5字节。解析获得第一个网络层数据,从网络层包头信息中读出网络层数据大小为10字节,加上网络层包头占用字节共为20字节,加上当前暂存器中的数据队列字节数50自己,共为70字节,小于预设字节的80字节,未超出单个MAC包的最大容量。将当前网络层数据和网络层包头的共计20字节数据加入到所述本地暂存器数据队列的50字节之后,目前本地暂存器的数据量共为70字节。然后解析第二个网络层数据,从网络层包头信息中读出网络层数据大小为5字节,加上网络层包头占用字节共为15字节,若加上当前暂存器的70字节,共为85字节,已大于预设字节的80字节,则,将当前暂存器的70字节数据运行步骤S4,然后将剩余的第二个和第三个网络层数据和网络层包头的共计30字节赋值给刚刚清空的本地暂存器,开启超时定时器,进行5000ms的计时,运行步骤SI,继续等待再一次的数据融合。。其余步骤与上述各实施例相同,不再赘述。步骤S3、提取MAC包中的MAC层数据,加入到本地暂存器数据队列之后。具体为,根据上述步骤S2的处理后,将所需要融合的MAC层数据加入到本地暂存器数据队列之后,并更新暂存器队列长度信息,便于下次数据时进行长度判断。步骤S4、新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装,发送该新建的MAC包,将本地暂存器数据清空。具体地,根据路由节点节点信息,新建一个Mac层包头(与Mac层数据无关而和路由节点的自身信息有关),暂存器数据队列长度如为70字节,则赋值给Mac层包头的长度信息。将暂存的数据队列赋给Mac层数据,此处即将70字节长度的数据队列赋值给Mac层数据位置。对Mac层报文进行CRC校验,并将校验值填写入校验位。参照图4,为融合了三个网络层数据的新的MAC包。该包封装后进行发送,发送完成后,将暂存的数据队列清空,并将其长度置为0,关闭超时定时器。参照图4,路由节点根据本机芯片地址即IEEE地址判断本路由节点为最终汇集点,则最终汇集点会对接收到的MAC包进行解析,正常MAC数据包解析方式如现有技术相同,不再赘述;若MAC包为经过融合的MAC包,则最终汇集点则根据融合后的MAC包的MAC层包头长度信息指示,依次对网络层数据做解析,直至解析到最后一个网络层数据。采用本实施例的数据融合方法,可以极大的减少数据报文的通讯次数,增大单个数据包数据传输量,从而提高网络的吞吐量,提升了网络传输的效率。本发明实施例还提供了一种数据融合装置,包括:接收模块,用于接收终端节点MAC包;并将数据包信息发送至数据处理模块。数据处理模块,用于分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理;暂存器,用于提取MAC包中的MAC层数据,加入到数据队列之后;数据封装模块,用于新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装;发送模块,用于发送该新建的MAC包,将本地暂存器数据清空。进一步,所述数据处理模块中还含有超时定时器,可设置为500ms,用于所述暂存器加入新数据后,进行计时,以触发对暂存器中的数据进行封装,或,返回继续进行数据融合。通过设置超时定时器,可以增大单个数据包数据传输量。以上对本申请所提供的一种数据融合方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种数据融合方法,其特征在于包含如下步骤: A、接收终端节点MAC包; B、分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理; C、提取MAC包中的MAC层数据,加入到本地暂存器数据队列之后; D、新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装,发送该新建的MAC包,将本地暂存器数据清空。
2.根据权利要求1所述的方法,其特征在于所述步骤A还包括: Al、对接收到的MAC包进行CRC校验,若校验失败则丢弃该MAC包; A2、判定本机是否为最终汇聚点;是,则停止转发;否,则运行所述步骤B。
3.根据权利要求1或2所述的方法,其特征在于所述步骤A还包括: 判定本机是否为当前接收到的MAC包的目标主机;是,则执行所述步骤B ;否,则丢弃该MAC 包。
4.根据权利要求3所述的方法,其特征在于,所述步骤B具体包括如下步骤: B1、分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,判定包头长度与队列长度之和是否大于预设字节; B2、若小于预设字节,则直接运行步骤C,且开启超时定时器进行预设时间的计时;达到所述预设时间,则运行步骤D ;在未达到所述预设时间的时间段内,时刻等待重新运行步骤A; B3、若等于预设字节,则直接运行步骤C ; B4、若大于预设字节,则解析MAC包的MAC层数据;若所述MAC层数据为单个网络层数据,则运行步骤D。
5.根据权利要求4所述的方法,其特征在于,所述步骤B4进一步还包括: B5、若所述MAC层数据含有多个网络层数据,则依次解析多个网络层数据; B6将所述网络层数据的字节数和其网络层包头占用字节数按顺序与所述本地暂存器数据的字节数相加后,判断是否超出预设字节; B7、若超出,则运行步骤D,将剩余网络层数据加入到本地暂存器,开启超时定时器;达到所述预设时间,则运行步骤D ;在未达到所述预设时间的时间段内,时刻等待重新运行步骤A; B8、若未超出,则将当前网络层数据加入到所述本地暂存器数据队列之后,解析下一个网络层数据,运行步骤B6 ;直至解析到最后一个网络层数据,则运行步骤B7。
6.根据权利要求5所述的方法,其特征在于,所述预设字节取值范围为50-2000字节。
7.根据权利要求6所述的方法,其特征在于,本方法基于Zigbee通信协议或wifi通信协议。
8.一种数据融合装置,其特征在于包括: 接收模块,用于接收终端节点MAC包; 数据处理模块,用于分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理; 暂存器,用于提取MAC包中的MAC层数据,加入到数据队列之后;数据封装模块,用于新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装; 发送模块,用于发送该新建的MAC包,将本地暂存器数据清空。
9.根据权利要求8所述的装置,其特征在于,所述数据处理模块中还含有超时定时器,用于所述暂存器加入新数据后,进行计时,以触发对暂存器中的数据进行封装,或,返回继续进行数据融合。
10.根据权利要求9所述的装置,其特征在于,所述超时定时器设置的预设时间为 5000ms。
全文摘要
本发明属于无线网络技术领域,特别提供了一种数据融合方法,包含如下步骤A、接收终端节点MAC包;B、分别读取MAC包的包头长度信息,及本地暂存器数据队列长度信息,以进行数据融合处理;C、提取MAC包中的MAC层数据,加入到本地暂存器数据队列之后;D、新建MAC包,将当前本地暂存器中的数据赋值至MAC包的MAC层数据进行封装,发送该新建的MAC包,将本地暂存器数据清空。并针对方法,还提供了一种数据融合装置。本发明使得路由节点可以减少转发次数,增大单个数据包数据传输量,降低网络信道的转发负荷。
文档编号H04W28/06GK103200611SQ20131011419
公开日2013年7月10日 申请日期2013年4月2日 优先权日2013年4月2日
发明者赵国安, 薛琳强, 郁斌, 李伟 申请人:南京芯传汇电子科技有限公司, 郁斌
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1