本发明专利技术涉及一种用于传感器网络的汇聚节点结构,本发明专利技术还涉及利用该汇聚节点结构进行数据存储传输的方法。其结构是把存储空间分为多个页面,每个页面的大小等于簇内节点的个数与簇内节点一次发送给汇聚节点的采样数据量之积;该采样数据量由具体协议参数决定,其存储空间大小为一个扇区。并由此提供了一种传感器网络数据在汇聚节点上的存储传输方法。这种方法提高了数据传输的效率,节约了能量,并没有使数据在压缩过程中产生计算错误。
【技术实现步骤摘要】
本专利技术涉及一种用于传感器网络的汇聚节点结构,本专利技术还涉及利用该汇聚节点结构进行数据存储传输的方法
技术介绍
传感器网络是一种低通信速率网络,主要应用于物理世界的数据采集,是网络的一种延伸。传感器网络一经部署需要有较长的网络生存期,但是构成传感器网络的节点都是资源受限的,因此如何节约传感器节点的能量开销一直是研究的热点。往往通过数据压缩算法来减少通信数据量,以达到节能的目的。 大规模的传感器网络通常被分为许多小的区域,每个小区域(称之为簇)会通过某种算法选举出一个管理节点,簇内各节点将采集到的数据发给管理节点,管理节点对收集到的数据进行压缩处理后进行转发,我们称这个管理节点为汇聚节点。 在无线传感器网络中,节点的存储能力都是十分有限的。汇聚节点的硬件结构与传感器网络中的其他节点相同,但相对来说要比其它节点存储更多的数据。若不对汇聚节点的存储空间进行管理,则在数据压缩的实现过程中至少会遇到以下的一些问题 首先,汇聚节点没有足够的存储空间存放其他节点传送来的数据。在数据收集过程中,由于MAC层信道的竞争,某个节点传送给汇聚节点的数据可能会有一定的延迟,汇聚节点在等待此节点的数据的时候,不得不接收其它节点多次发送的数据,因而需要更大的存储空间。 其次,汇聚节点面临存储数据的保护问题。传感器网络一般都使用实时的操作系统,实时操作系统的中断优先级很高有可能会打断目前正在进行的运算,如何保护存储的数据不被重复的进行读写操作也是需要面临的一个重要问题。 本专利技术针对以上问题提供了一种用于传感器网络数据压缩的汇聚节点上的存储空间分配方法和针对该分配方法在实时操作系统中引入一种信号量机制保护汇聚节点上存储的数据。
技术实现思路
本专利技术的目的是要克服现有汇聚节点存储空间限制带来的蔟内部以及网络中数据传输问题。 本专利技术首先是提供一种用于传感器网络的汇聚节点,其结构是把存储空间分为多个页面,每个页面的大小等于簇内节点的个数与簇内节点一次发送给汇聚节点的采样数据量之积;该采样数据量由具体协议参数决定,其存储空间大小为一个扇区。 数据压缩技术要求整个网络或者每个簇内有精确的时间同步,因为数据的时间紊乱会降低压缩的效果。由于传感器网络的硬件条件受限,在整个网络中实现电信网络中精确的TDMA不太可能,但是对传感器网络某一个区域进行时间同步还是可以实现的。针对无线传感器网络中的时间同步协议已经有很多文献,在此不再描述。本专利技术只针对汇聚节点的簇内节点都实现了时间同步。 簇内每个节点设为采样周期为ts,采集m个样本后把采集的数据发送给汇聚节点。节点的通信带宽为R,每个簇内节点发送的帧长度为Fi。汇聚节点上在收到压缩或者融合算法所规定的数据量后进行一次处理所要耗费的时间为tp。假设汇聚节点所拥有的簇内节点数量为n,那么所有簇内节点通过竞争信道发送完一个数据帧所要耗费的时间最少为 如果那么势必会出现一个问题,在汇聚节点正在对上一轮采样数据进行运算处理时下一轮数据已经到达。当程序员为汇聚节点开辟的内存仅为n×m大小时,势必会由于缓存过少产生数据的丢失。 解决这种问题的办法有两个,第一种将采样时间ts设置为ts? 但是这种办法在高采样速率的应用环境中不太适用,如声音和振动数据采集,首先,声音和振动数据采集必须需要高速率的采样,采样周期设置过大不符合应用要求,其次,传感器网络是低速率网络,高速采样产生的大量数据通过低带宽传送需要耗费很多时间,上述采样时间的不等式无法满足;第二种开辟的缓冲区大于n×m,余下的空间用来存储下一轮到来的数据。 对 这个式子的运算结果的商进行向上取整,得到一个整数值L,那么在汇聚节点上总共需要开辟L×n×m大小的缓存。在实际实施过程中如节点竞争信道耗费的时间和CPU对特定操作的处理时间都是不确定的,一般可以先分配整数倍的n×m大小的缓冲区,通过试验结果看有无数据丢失来调整缓冲区的大小。整个汇聚节点上的存储分配结构图如图1所示。 在存储空间分配方法中提到了这样一种情况,在汇聚节点正在对采样数据进行运算处理时可能簇内其他节点发送的数据已经到达。传感器网络节点使用的操作系统往往实时性很强,一个新的数据包的达到在操作系统中会被定义为一个中断或一个事件,可以打断一些非实时的处理或者运算。 虽然在存储空间分配方法中定义了多余的缓冲区供新的数据存储,但是中断或者事件对正在执行的运算可能会产生如下影响假如汇聚节点正在进行运算处理时被中断打断,那么新的数据到来时操作系统会认为参与运算处理的存储数据已经被释放掉了,操作系统会直接占用已经参与运算处理的存储数据的空间,当汇聚节点的运算任务从中断后恢复再参与运算将使用原存储地址但是非原始的数据来完成剩下的操作,那么汇聚节点最后传送给无线网关的必然是错误的结果。 本专利技术针对上述问题提出了一种利用上述汇聚节点结构的信号量机制来保护汇聚节点上存储的数据,即传感器网络数据在汇聚节点上的存储传输方法。该方法描述如下 实时操作系统初始化部分 1、设置两个整数变量和一个逻辑变量作为信号量;这三个变量的名字分别为PageRead,PageWrite,isPageFull;在对每个变量进行操作时必须设置为原子执行; 每个页面初始时都设置isPageFull为非真值;PageRead,PageWrite采用无符号8比特数表示的话可以设置为255,总之在初始时设置为无意义的值; 写操作进程 1首先看是否有页面的isPageFull为非真值; 2如果有,那么按照页面号的从小到大的次序选择同时看是否PageRead,PageWrite是相同的值,如果不相同那么PageWrite的值赋为当前选择页面号;如果没有该页面就继续寻找等待; 3当页面写满后PageWrite设置为初始值,isPageFull设置为真值;然后重复写操作的步骤1; 读操作进程 1首先看是否有页面的isPageFull为真值; 2如果有,那么按照页面号的从小到大的次序选择,PageRead的值赋为当前选择页面号。如果没有该页面就继续寻找等待; 3当页面中数据运算完成后,PageRead设置为初始值,isPageFull设置为非真值;然后重复读操作的步骤1; 具体的信号量在读写线程的操作流程如图2所示; 本专利技术提供了一种汇聚节点结构,并由此提供了一种传感器网络数据在汇聚节点上的存储传输方法。这种方法提高了数据传输的效率,节约了能量,并没有使数据在压缩过程中产生计算错误。 附图说明 图1汇聚节点上的存储分配结构图,其中1是汇聚节点,2、3、4、5为簇内节点; 图2具体的信号量在读写线程的操作流程; 图3丢失样本与时间关系图,其中□为使用本专利技术设置缓冲区丢失的样本数;曲线○为未按本专利技术设置缓冲区丢失的样本数; 图4温度与时间关系图,其中曲线□为解压缩后的采样数据;曲线○为不需要解压缩的采样数据。 具体实施例方式 实施例 本实施例中基于TinyOS操作系统结合一种简单有效的数据压缩处理算法实现本专利技术提到的存储空间分配和保护方法。TinyOS操作系统是由美国加州大学博克立分校开发的专门使用于无线传感器网络的操作系统,该操作系统本文档来自技高网...
【技术保护点】
一种用于传感器网络的汇聚节点,其结构是把存储空间分为多个页面,每个页面的大小等于簇内节点的个数与簇内节点一次发送给汇聚节点的采样数据量之积;该采样数据量由具体协议参数决定,其存储空间大小为一个扇区。
【技术特征摘要】
【专利技术属性】
技术研发人员:林亚平,叶松涛,周四望,胡玉鹏,
申请(专利权)人:湖南大学,
类型:发明
国别省市:43[中国|湖南]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。