TinyDB系统结构
发布时间:2012/4/6 18:58:05 访问次数:3095
TinyDB的系统结构如图7-26所示,主要包括客户端、TinyDB服务器和传感器EP9307-CRZ/E2网络三部分组成,客户端安装有基于Java的应用程序接口(TinyDB客户端API)。用户通过该接口使用TinyDB,传感器网络中的每一个节点都安装TinyDB的传感器网路软件(TinyDB QP)。
传感器网络的数据被分为传感器数据、常量数据和内省数据三类,这三类数据都对应着Sensors表中的属性字段,这个表的字段可以无限增长。应用程序从传感器网络上获取数据,只要查询sensors表中相应的字段即可,查询中执行过程中可以根据谓词条件,对数据进行过滤、聚合、分组。
TinyDB系统产生的数据元组都包含时间戳,形式如<TimestampTemperature,Light,NodeLoeation>,这是对流数据进行关系查询的需要,它的选择、投影和聚合都只针对时间戳相同的数据。在目前的TinyDB系统中只使用一个关系表sensors,该表中包含了传感器网络上的所有数据类型,表中的数据分布在每个传感器网络节点上。
TinyDB足从无线传感器网络上提取信息的查询处理系统,对无线传感器网络进行了封装,将之抽象为一个数据库系统,其目的是使用户的开发工作更加简单,即用户不再需要使用NesC语言对网络节点(Mote)进行嵌入式编程,而是操作数据库,使用一种简单的类SQL语言直接提取数据。TinyDB系统从分散在各种环境中的传感器节点收集有效的数据,尽可能的靠近数据源完成过滤、聚合,将最终结果发送到基站上。该处理过程是通过能量有效的算法分布在网络上完成的。
TinyDB屏蔽了无线传感器网络的细节,通过作为应用接口的数据库前端,用户看到的是一个数据库系统,只需要使用类SQL进行数据查询检索即可;第二部分是运行在每一个节点上的嵌入式查询执行引擎,负责分布式地完成查询请求,对于用户透明。
TinyDB支持的另一类查询是基于事件的查询。在TinyOS操作系统中可以定义注册一系列的事件,当这些事件发生时,来触发查询。比如在濒危鸟类的生态监控中,为了记录鸟类在归巢之后,对巢穴的温度和湿度进行记录,就可以由节点软硬件系统根据鸟类归巢与否来触发事件,从而执行类SQL查询。
TinyDB的前端是用户的应用程序和无线传感器网络的接口,它可以运行茌PC机上,通过串口与一个节点的UART接口通信,从而与无线传感器网络接通,也可以是Stargate platform这种平台,直接与无线传感器网络接通。它的主要功能包括以下几个方面:查询请求的接收、验证、优化,查询的管理和查询结果的接收,发送控制命令。应用通过上节讨论的类SQL语言使用这些功能。在前端所实现的这些功能中,查询语句的解析验证可以采用关系数据库中成熟的技术,但查询的优化和发送,以及结果接收则要结合无线传感器网络数据库系统的特点进行,尤其是其通信过程,由于查询发送和结果接收的过程会产生类别众多的各种消息报文,实现上很复杂。
基于TinyDB的应用开发方面,在无线传感器网络数据库TinyDB的支持之下,应用程序只需要从数据库中提取数据,然后处理获取的信息,重要的是实现自己的应用逻辑,开发的流程得以简化。对于无线传感器应用的开发者,只需要掌握传感器网络所提供的数据信息和TinyDB的功能即可。
TinyDB的系统结构如图7-26所示,主要包括客户端、TinyDB服务器和传感器EP9307-CRZ/E2网络三部分组成,客户端安装有基于Java的应用程序接口(TinyDB客户端API)。用户通过该接口使用TinyDB,传感器网络中的每一个节点都安装TinyDB的传感器网路软件(TinyDB QP)。
传感器网络的数据被分为传感器数据、常量数据和内省数据三类,这三类数据都对应着Sensors表中的属性字段,这个表的字段可以无限增长。应用程序从传感器网络上获取数据,只要查询sensors表中相应的字段即可,查询中执行过程中可以根据谓词条件,对数据进行过滤、聚合、分组。
TinyDB系统产生的数据元组都包含时间戳,形式如<TimestampTemperature,Light,NodeLoeation>,这是对流数据进行关系查询的需要,它的选择、投影和聚合都只针对时间戳相同的数据。在目前的TinyDB系统中只使用一个关系表sensors,该表中包含了传感器网络上的所有数据类型,表中的数据分布在每个传感器网络节点上。
TinyDB足从无线传感器网络上提取信息的查询处理系统,对无线传感器网络进行了封装,将之抽象为一个数据库系统,其目的是使用户的开发工作更加简单,即用户不再需要使用NesC语言对网络节点(Mote)进行嵌入式编程,而是操作数据库,使用一种简单的类SQL语言直接提取数据。TinyDB系统从分散在各种环境中的传感器节点收集有效的数据,尽可能的靠近数据源完成过滤、聚合,将最终结果发送到基站上。该处理过程是通过能量有效的算法分布在网络上完成的。
TinyDB屏蔽了无线传感器网络的细节,通过作为应用接口的数据库前端,用户看到的是一个数据库系统,只需要使用类SQL进行数据查询检索即可;第二部分是运行在每一个节点上的嵌入式查询执行引擎,负责分布式地完成查询请求,对于用户透明。
TinyDB支持的另一类查询是基于事件的查询。在TinyOS操作系统中可以定义注册一系列的事件,当这些事件发生时,来触发查询。比如在濒危鸟类的生态监控中,为了记录鸟类在归巢之后,对巢穴的温度和湿度进行记录,就可以由节点软硬件系统根据鸟类归巢与否来触发事件,从而执行类SQL查询。
TinyDB的前端是用户的应用程序和无线传感器网络的接口,它可以运行茌PC机上,通过串口与一个节点的UART接口通信,从而与无线传感器网络接通,也可以是Stargate platform这种平台,直接与无线传感器网络接通。它的主要功能包括以下几个方面:查询请求的接收、验证、优化,查询的管理和查询结果的接收,发送控制命令。应用通过上节讨论的类SQL语言使用这些功能。在前端所实现的这些功能中,查询语句的解析验证可以采用关系数据库中成熟的技术,但查询的优化和发送,以及结果接收则要结合无线传感器网络数据库系统的特点进行,尤其是其通信过程,由于查询发送和结果接收的过程会产生类别众多的各种消息报文,实现上很复杂。
基于TinyDB的应用开发方面,在无线传感器网络数据库TinyDB的支持之下,应用程序只需要从数据库中提取数据,然后处理获取的信息,重要的是实现自己的应用逻辑,开发的流程得以简化。对于无线传感器应用的开发者,只需要掌握传感器网络所提供的数据信息和TinyDB的功能即可。
上一篇:TinyDB
热门点击
- TinyDB系统结构
- 无线传感器网络集成开发平台MeshIDE f
- 熔断电阻器
- 纸介电容器的结构与特点
- DiswareDM的系统功能
- 按照网络运行后密钥是否更新分类
- 应用层以太网数据传输的实现
- CC2型管形瓷介电容器
- 文字符号法
- C232型瓷管密封纸介电容器
推荐技术资料
- 自制经典的1875功放
- 平时我也经常逛一些音响DIY论坛,发现有很多人喜欢LM... [详细]