专利名称:分布式异构传感网数据管理系统及其数据管理方法
技术领域:
本发明涉及一种传感网数据管理系统,具体说是一种分布式异构传感网的数据管理系统及其数据管理方法,用于对不同类型的传感器节点采集的数据进行管理。
背景技术:
传感器网络是以数据为中心的网络,它把传感器节点视为感知数据流或感知数据源,把传感器网络视为感知数据空间或感知数据库,把数据查询以及数据分析等数据管理内容作为整个传感器网络的应用目标。因此,任何基于传感器网络的应用都离不开数据的收集、存储、查询、分析以及可视化,数据管理自然成为传感器网络的核心技术之一。传感网数据管理的核心是数据存储与数据查询。目前数据存储主要 分为三种类型,即外部存储、本地存储以及以数据为中心的存储。外部存储方式把数据集中存放在传感网外的中心处理设备上,比如基站或者网关等;本地存储把传感器节点采集到的数据就地存储于产生该数据的传感器节点上;以数据为中心的存储方法以某种策略把传感器节点采集到的数据存放到传感网中指定的位置。数据查询方面的研究主要集中在如何在数据流上高效地进行各种查询操作。与传统数据库的查询操作不同,在传感器网络中,单个传感器节点采集到的数据往往无法反应整个网络的情况,因此需要实现分布式的数据查询处理;另一方面,传感网一般是执行长时间的连续查询,查询在执行过程中会遇到网络的变化或者应用需求的变化,因此传感网的查询需要具备自适应性和动态性;最后,在进行聚合查询操作时需要考虑到传感器节点采集的数据是连续的数据流,需要预先进行特殊处理。在无线传感器网络数据管理领域,目前学术界已经有了不少的研究成果。这些成果主要根据无线传感器网络的数据产生特点,以数据流的方式进行处理,研究如何在数据流上进行各种查询操作,致力于如何构建一种高效的数据流管理系统。在这方面,经过学术界的研究,已经出现了一些比较好的原型系统,比如Fjording、SStreaMMare和Aurora等。这些系统着重在无线传感器网络的流式数据上尽量实现传统的数据查询操作以及一些特有的数据处理操作。上面这些数据管理系统都是一般性的、大型的数据流管理系统,另外还有一些相对较小的用于收集无线传感器网络数据,并对其进行分析和可视化的系统,例如WiSeCoMaSys ,SffAT0这两个系统与上面的数据流管理系统不同,它们并不是基于数据流的处理方法,而是首先收集所有的无线传感器数据并把它们存储到传统的数据库中,然后再根据需要提供各种查询和分析处理。在系统架构上,上述两种系统都只涉及WSN、WLAN和Internet这些最基本的网络,并且都是采用多层次的处理模型,此外这些系统大多针对单一的传感器。随着传感器种类日益多样化并且逐步深入人们的日常生活,而且各种各样的无线网络不断出现,我们需要构建异构环境下的传感网数据管理系统,能够适应多样化的传感器节点并利用丰富的无限网络。此外,由于基于数据流的数据管理系统注重基本的数据处理功能和系统级的实现,在具体的无线传感器网络应用中难以直接使用以得到理想的效果SWAT在数据的收集、分析和可视化上还有不够完善的地方,比如网络拓扑图的实时显示、传感器数据查询处理请求等。
发明内容
本发明所要解决的技术问题,在于克服现有技术存在的缺陷,提出了一种分布式异构传感网数据管理系统及其数据管理方法,可以用于对不同类型的传感器节点采集的数据进行管理,减少传感器节点的能耗,并且有效地响应各种应用请求。本发明分布式异构传感网数据管理系统,由感知层传感器节点、代理层、控制层和用户层四个层次构成;其特征是
最底层是感知层,由各无线传感器节点和数据感知节点构成,包括Micaz、Telosb这类 基本传感器节点和摄像头等数据感知节点,这一层是整个网络的基础,是整个网络的数据来源;
接着是代理层(由各代理节点组成),代理层有两个方面的作用,一方面用于存储感知节点感知的数据,比如温度、光照、图像信息等,实现分布式的数据存储;另一方面它可以提供感知节点的相关信息并且完成真正的数据查询处理,所有针对传感器数据的查询操作最后都会发送到代理层上的节点进行处理;
再上面一层是控制层,它提供了对整个传感器网络的访问控制信息;
最上面一层是用户层(客户端或用户端);
感知层只与代理层进行交互,代理层与感知层、控制层和用户层都有交互,控制层与代理层和用户层交互;
客户端在进行数据查询操作时,首先需要获得中心服务器中存储的整个传感网的网络信息,包括代理节点编号、IP地址及其提供服务的端口号,以及无线传感器节点编号、采集的数据类型及其所属代理节点编号。接着客户端根据查询的具体情况直接向相应的代理节点发送查询请求,代理节点再向客户端返回查询结果。本系统的架构与已有的传感网数据管理系统有所不同。首先本系统分层清晰、功能明确,从传感器数据采集到用户的应用一共分为四个层次。其次,传统的传感网数据管理系统只考虑单一类型的传感器节点,比如micaz、telosb,本系统根据技术的发展和应用的需要提出了新的改进,在原有的基础上增加对多媒体传感器节点的处理,从而从传统的无线传感器网络数据管理转变成为对异构传感网的数据管理,提供了一种全新的数据管理方案。数据管理处理过程
首先,无线传感器节点采集数据并向代理节点传送,数据感知节点(摄像头)处于准备状态,准备随时获取图像信息。为了获取图像数据,首先客户端向某摄像头数据感知节点所属的代理节点发送图像数据请求命令,接着该代理节点启动摄像头感知节点,每秒采集15帧图像信息,每采集完一帧图像信息则立即向客户端发送。无限传感器节点之间通过Zigbee通信协议,采用树状路由,把采集到的数据信息传送到与代理节点相连的基站,基站再把从无线传感器节点接收到的数据从串口发送给代理节点。无线传感器节点采集的信息主要包括三种类型,温度、湿度和光照。在无线传感器节点上,具体的处理过程如下步骤I:每隔I秒的时间启动数据采集模块采集数据;
步骤2 :如果本次采集的数据值与前面一次采集的数据值之间的变化不超过预先设定的阈值,则暂时进行本地存储,否则立即发送,进入步骤4 ;
步骤3 :检测当前本地存储的记录数,如果数量达到某个值,比如5,则取其平均值,准备发送;
步骤4 :对即将发送的数据进行加密,采用加密算法为DES对称密钥加密算法;
步骤5 :通过树状路由,把加密后的数据通过多条的方式发送出去;
接着,代理节点对从串口接收到的数据进行各种处理;前期处理包括如下几个方面数据序列化、数据解密、数据解析;由于直接通过串口只能有一个PC进程可以接收从基站 发往代理节点的数据,所以需要对串口中的数据进行进一步的处理。Tinyos系统提供的C兹工具中的sf程序作为SerialForwarder工具,可以打开串口信息源,并让多个其它的应用进程通过TCP/IP流连接到该工具。此外,为了安全起见,无线传感器节点发送的数据都是经过加密的,考虑到解密算法的时间复杂度较高并且基站节点的负载大、运算能力弱,于是把解密操作放在代理节点上进行。最后,各个应用进程根据需要从解密后的数据中获取无线传感器节点采集到的信息,由于无线传感器节点与代理节点在体系结构的不同,对无线传感器节点发送过来的数据需要调用tinyos系统提供的API逐字节进行解析,最后存入数据库中。前期的处理过程是由数据序列化到解密再到解析的一个过程
代理节点对接收数据的详细处理包括如下几个方面
①代理节点启动一个进程对sf程序提供的数据源进行实时监测,这又包括以下几个方面的内容首先只对每个无线传感器节点发送的第一个数据记录进行特殊处理,提取某个无线传感器节点的相关信息,包括节点号、代理节点号、采集的数据类型、父节点编号,并把这些信息发送到控制层中的中心服务器;其次,实时监测每条无线传感器节点发送过来的记录,检查改节点的父节点是否发送变化,如果发生变化,则立即把变化信息发送给控制层;
②代理节点启动另一个进程对无线传感器节点发送过来的数据进行存储以备查询;该进程实时监测sf程序提供的数据源,并对读取的数据进行解密,解密之后再根据数据解析的结果进行存储;数据用SQlite数据库进行存储,因为这是一种轻量级的数据库,非常适合嵌入式应用;
③对历史数据的查询处理,这一部分的数据处理基于处理过程①,所有的历史查询都是针对存储在代理节点上的数据进行查询和处理;无线传感器网络的数据查询请求可以分为三种类型,实时数据查询、历史数据查询以及事件查询;对无线传感器节点的数据查询请求,系统设定了统一的查询命令格式,不同的查询请求对应不同的查询命令格式;
客户端在开始运行时会从控制层的中心服务器上获取整个无线传感器网络的相关信息,包括代理节点编号及其IP地址和开放的服务端口号、网络中所有的无线传感器节点编号及其采集的数据类型和所属的代理节点号,当客户端需要对某个无线传感器节点进行数据查询时,可以直接发送查询命令到相应的代理节点,由代理节点返回查询的结果;
实时数据查询主要是实时向客户端返回某个无线传感器节点采集到的数据或者是视频图像信息;历史数据查询包括以下几个内容查询历史数据的最大值或者最小值、查询某个无线传感器节点在某个时间段内采集到的数据、查询最近采集到的多条数据等;事件查询即客户端根据需要在代理节点上注册一个查询条件,当条件成立时,代理节点立即向客户端发送相关的信息;另一方面,当客户端不再关注某个事件是否发生时,可以像相应的代理节点注销对应的查询事件。④对整个传感器网络拓扑结构信息的提供,这一部分处理基于过程②;在无线传感器网络数据管理中,拓扑信息及其显示是十分重要的,便于了解整个网络的运行情况;本系统使用树状路由,所以拓扑图以树状的形式进行显示;系统能够对整个网络中无线传感器节点的变化进行及时的响应,一旦有新的无线传感器节点加入,系统能够立即获取该节点的基本信息,包括节点编号、父节点编号、采集的数据类型、代理节点编号等;另一方面,如果由于某种原因导致无线传感器网络中的某个或某些节点失效,系统也能够根据相应的配置信息及时地反映出来;根据系统的设置,当代理节点经过一定的时间后仍然没有收到某个的节点的数据时,即可认为该节点已经失效并在数据库中删除该节点的信息;
在控制层,主要的处理包括三个方面1、接收从各个代理节点发送过来的网络信息,包括代理节点的基本信息以及无线传感器节点的基本信息,并就地存储;2、根据代理节点发送的过来的路由变化信息及时更新整个网络的拓扑结构信息;3、向客户端提供整个网络的 信息,包括传感器节点和代理节点的基本信息以及整个网络的拓扑结构信息。本发明与传统的无线传感器网络数据管理系统相比,主要的有点包括如下几个方面1、采用分布式的数据存储策略可以缓解集中式数据管理的瓶颈问题,不会出现因汇聚节点负载过大而对整个网路的数据管理造成极坏的影响;2、本系统采用多层次的数据管理方式,使得对整个传感网数据管理变得更加灵活、方便,比如可以随时随地增加无线传感器节点及相应的代理节点,只要改代理节点能够通过网络与控制层的中心服务器进行通信;3、本系统不仅对数据传输量小的无线传感器节点进行管理,而且还对数据传输量大的图像感知节点(摄像头)进行管理,能极大的丰富传感网的应用需求。总的来说,本系统对传感网的数据管理高效、方便、而且灵活。
图I是本发明分布式异构传感网数据管理系统的架构示意图。图2是本发明分布式异构传感网数据管理系统网络层次结构示意图。图3是本发明数据查询处理过程示意图。图4是无限传感器节点加密前的数据记录格式。图5是本发明代理节点对数据进行前期处理过程示意图。
具体实施例方式下面结合附图和实施例,对本发明做详细说明。本发明分布式异构传感网数据管理系统是一种分布式的异构传感网数据管理方案,首先对各种传感器采集的数据进行收集,经过一定的处理之后存储于数据库中,最后根据用户的应用需求进行各种数据分析和数据查询处理。以下分别详细说明本系统的基本架构以及数据管理的具体过程。分布式异构传感网数据管理系统架构
本系统是一种异构的分布式传感网数据管理系统,整个系统架构由四个层次组成。首先最底层是感知层,由传感器节点,包括Micaz、Telosb这类基本传感器节点,和摄像头等数据感知节点构成,这一层是整个网络的基础,是整个网络的数据来源。接着是代理层(由代理节点组成),代理层有两个方面的作用,一方面用于存储感知节点感知的数据,比如温度、光照、图像信息等,实现分布式的数据存储;另一方面它可以提供感知节点的相关信息并且完成真正的数据查询处理,所有针对传感器数据的查询操作最后都会发送到代理层上的节点进行处理。再上面一层是控制层,它提供了对整个传感器网络的访问控制信息。系统的网络架构如图I所示。最后是用户层。整个网络的层次结构如图2所示,感知层只与代理层进行交互,代理层与感知层、控制层和用户层都有交互,控制层与代理层和用户层交互,用户层需要与控制层和代理层进行交互。客户端在进行数据查询操作时,首先需要获得中心服务器中存储的整个传感网的网络信息,包括代理节点编号、IP地址及其提供服务的端口号,以及无线传感器节点编号 、采集的数据类型及其所属代理节点编号。接着客户端根据查询的具体情况直接向相应的代理节点发送查询请求,代理节点再向客户端返回查询结果。基本处理过程如图3所示。本系统的架构与已有的传感网数据管理系统有所不同。首先本系统分层清晰、功能明确,从传感器数据采集到用户的应用一共分为四个层次。其次,传统的传感网数据管理系统只考虑单一类型的传感器节点,比如micaZ、telosb,本系统根据技术的发展和应用的需要提出了新的改进,在原有的基础上增加对多媒体传感器节点的处理,从而从传统的无线传感器网络数据管理转变成为对异构传感网的数据管理,提供了一种全新的数据管理方案。数据管理方法(数据管理处理过程)
首先,无线传感器节点采集数据并向代理节点传送,摄像头处于准备状态,准备随时获取图像信息。如果用户需要获取图像信息,则首先需要向某摄像头数据感知节点所属的代理节点发送图像数据请求命令,接着该代理节点启动摄像头感知节点,每秒采集15帧图像信息,并且每采集完一帧图像信息则立即向用户发送。无限传感器节点之间通过Zigbee通信协议,采用树状路由,把采集到的数据信息传送到与代理节点相连的基站,基站再把从无线传感器节点接收到的数据从串口发送给代理节点。无线传感器节点采集的信息主要包括三种类型,温度、湿度和光照。在无线传感器节点上,具体的处理过程如下
步骤I :每隔I秒的时间启动数据采集模块采集数据;
步骤2 :如果本次采集的数据值与前面一次采集的数据值之间的变化不超过预先设定的阈值(比如对于温度数据而言,阈值可以设为O. 005,该阈值可以根据应用的需求动态调整),则暂时进行本地存储,否则立即发送,进入步骤4 ;
步骤3 :检测当前本地存储的记录数,如果数量达到某个值,比如5,则取其平均值,准备发送;
步骤4 :对即将发送的数据进行加密,采用加密算法为DES对称密钥加密算法;
步骤5 :通过树状路由,把加密后的数据通过多条的方式发送出去。无限传感器节点加密前的数据记录格式包括六个字段,如图4所示。图4中,各个字段的含义分别为无线传感器节点的编号、其父节点的编号、发送当前信息的计数值、每次感知数据的时间间隔、感知的数据类型(温度、湿度、光照等)、感知的数据值,每个字段所占的长度均为两个字节。接着,代理节点对从串口接收到的数据进行各种处理。前期处理包括如下几个方面数据序列化、数据解密、数据解析。由于直接通过串口只能有一个PC进程可以接收从基站发往代理节点的数据,所以需要对串口中的数据进行进一步的处理。Tiny0S系统提供的工具中有一个sf程序,该程序作为SerialForwarder工具,可以打开串口信息源,并让多个其它的应用进程通过TCP/IP流连接到该工具。此外,为了安全起见,无线传感器节点发送的数据都是经过加密的,考虑到解密算法的时间复杂度较高并且基站节点的负载大、运算能力弱,于是把解密操作放在代理节点上进行。最后,各个应用进程根据需要从解密后的数据中获取无线传感器节点采集到的信息,由于无线传感器节点与代理节点在体系结构的不同,对无线传感器节点发送过来的数据需要调用tinyos系统提供的API逐字节进行解析,最后存入数据库中。前期的处理过程是由数据序列化到解密再到解析的一个过程,如图5所示。代理节点对接收数据的详细处理包括如下几个方面
①代理节点启动一个进程对Sf提供的数据源进行实时监测,这又包括以下几个方面的内容首先只对每个无线传感器节点发送的第一个数据记录进行特殊处理,提取某个无线传感器节点的相关信息,包括节点号、代理节点号、采集的数据类型、父节点编号,并把这些信息发送到控制层中的中心服务器;其次,实时监测每条无线传感器节点发送过来的记录,检查改节点的父节点是否发送变化,如果发生变化,则立即把变化信息发送给控制层。②代理节点启动另一个进程对无线传感器节点发送过来的数据进行存储以备查询。该进程实时监测Sf提供的数据源,并对读取的数据进行解密,解密之后再根据数据解析的结果进行存储。数据用SQlite数据库进行存储,因为这是一种轻量级的数据库,非常适合嵌入式应用。具体的存储格式如表I所示。表 I Sensordata 表
权利要求
1.分布式异构传感网数据管理系统,由感知层传感器节点、代理层、控制层和用户层四个层次构成;其特征是最底层是感知层,由各无线传感器节点和数据感知节点构成;接着是代理层,由各代理节点组成,代理层,一方面用于存储感知节点感知的数据,实现分布式的数据存储;另一方面提供感知节点的相关信息并且完成数据查询处理,所有针对传感器数据的查询操作均发送到代理层上的节点进行处理;再上面一层是控制层,它提供了对整个传感器网络的访问控制信息;最上面一层是用户层;感知层只与代理层进行交互,代理层与感知层、控制层和用户层都有交互,控制层与代理层和用户层交互;进行数据查询操作时,首先获得中心服务器中存储的整个传感网的网络信息,包括代理节点编号、IP地址及其提供服务的端口号,以及无线传感器节点编号、采集的数据类型及其所属代理节点编号;接着根据查询的具体情况直接向相应的代理节点发送查询请求,代理节点再向客户端返回查询结果。
2.—种权利要求I所述分布式异构传感网数据管理系统的数据管理方法,其步骤如下首先,无线传感器节点采集数据并向代理节点传送,数据感知节点处于准备状态,准备随时获取图像信息;一旦代理节点接收到客户端发送过来的图像数据请求命令则立即启动该代理节点所属的摄像头感知节点,并且每秒采集15帧图像数据,每采集完一帧图像数据则立即向客户端发送;无限传感器节点之间通过Zigbee通信协议,采用树状路由,把采集到的数据信息传送到与代理节点相连的基站,基站再把从无线传感器节点接收到的数据从串口发送给代理节点;具体的处理过程如下步骤I :每隔I秒的时间启动数据采集模块采集数据;步骤 2 :如果本次采集的数据值与前面一次采集的数据值之间的变化不超过预先设定的阈值,则暂时进行本地存储,否则立即发送,进入步骤4 ;步骤3 :检测当前本地存储的记录数,如果数量达到设定值,则取其平均值,准备发送; 步骤4 :对即将发送的数据进行加密,采用加密算法为DES对称密钥加密算法;步骤5 :通过树状路由,把加密后的数据通过多条的方式发送出去;接着,代理节点对从串口接收到的数据进行各种处理;包括前期处理和详细处理;所述前期处理包括如下几个方面数据序列化、数据解密、数据解析;即用sf程序作为SerialForwarder工具,打开串口信息源,并让多个其它的应用进程通过TCP/IP流连接到sf程序;把解密操作放在代理节点上进行;最后,各个应用进程根据需要从解密后的数据中获取无线传感器节点采集到的信息,对无线传感器节点发送过来的数据,调用tinyos 系统提供的API逐字节进行解析,最后存入数据库中;代理节点对接收数据的详细处理包括如下几个方面①代理节点启动一个进程对sf程序提供的数据源进行实时监测首先只对每个无线传感器节点发送的第一个数据记录进行处理,提取某个无线传感器节点的相关信息,包括节点号、代理节点号、采集的数据类型、父节点编号,并把这些信息发送到控制层中的中心服务器;其次,实时监测每条无线传感器节点发送过来的记录,检查改节点的父节点是否发送变化,如果发生变化,则立即把变化信息发送给控制层;②代理节点启动另一个进程对无线传感器节点发送过来的数据进行存储以备查询;该进程实时监测Sf程序提供的数据源,并对读取的数据进行解密,解密之后再根据数据解析的结果进行存储;数据用SQlite数据库进行存储;③对历史数据的查询处理,基于处理过程①,所有的历史查询都是针对存储在代理节点上的数据进行查询和处理;无线传感器网络的数据查询请求分为三种类型,实时数据查询、历史数据查询以及事件查询;对无线传感器节点的数据查询请求,系统设定了统一的查询命令格式,不同的查询请求对应不同的查询命令格式;客户端在开始运行时会从控制层的中心服务器上获取整个无线传感器网络的相关信息,包括代理节点编号及其IP地址和开放的服务端口号、网络中所有的无线传感器节点编号及其采集的数据类型和所属的代理节点号,当客户端需要对某个无线传感器节点进行数据查询时,直接发送查询命令到相应的代理节点,由代理节点返回查询的结果;实时数据查询是实时向客户端返回某个无线传感器节点采集到的数据或者是视频图像息;④对整个传感器网络拓扑结构信息的提供,采用树状路由,拓扑图以树状的形式进行显示;系统对整个网络中无线传感器节点的变化进行响应,一旦有新的无线传感器节点加入,系统立即获取该节点的基本信息,包括节点编号、父节点编号、采集的数据类型、代理节点编号等;另一方面,如果无线传感器网络中的某个或某些节点失效,系统根据相应的配置信息及时地反映出来;根据系统的设置,当代理节点经过设定的时间后仍然没有收到某个的节点的数据时,即可认为该节点已经失效并在数据库中删除该节点的信息;控制层的数据处理1、接收从各个代理节点发送过来的网络信息,包括代理节点的基本信息以及无线传感器节点的基本信息,并就地存储;2、根据代理节点发送的过来的路由变化信息及时更新整个网络的拓扑结构信息;3、向客户端提供整个网络的信息,包括传感器节点和代理节点的基本信息以及整个网络的拓扑结构信息。
全文摘要
本发明公开了一种分布式异构传感网数据管理系统及其数据管理方法。采用多层次的架构体系对异构传感器网络进行数据管理,使得对整个传感网的部署和调整变得方便容易。此外,系统对无线传感器节点采集的数据进行分布式存储,避免了集中式数据处理的瓶颈问题,大大地改善了数据处理的效率。而对摄像头数据感知节点采集的大量数据利用无线局域网进行快速的传输,能够保证客户端对图像视频的应用需求。本系统对客户端提供了高效的数据查询以及实时的拓扑显示功能,不仅满足了客户端对传感器节点采集的数据的复杂处理需求,而且还能向及时反映客户端反映整个传感器网络的运行状况。
文档编号H04W28/08GK102932846SQ20121040106
公开日2013年2月13日 申请日期2012年10月22日 优先权日2012年10月22日
发明者陈力军, 李旭东 申请人:南京大学