快捷搜索:
来自 公司简介 2020-02-15 04:32 的文章
当前位置: 晋城市报警模块有限公司 > 公司简介 > 正文

WSN中基于TinyDB路由模块的分析与改进

  TinyDB是由美国加州大学伯克利分校的研究人员开发的一个无线传感器网络数据库的原型系统。它将整个无线传感器网络视为一个虚拟的数据库系统,并支持类SQL查询。传感器网络上的所有数据类型,包括各种类型的传感器数据、静态数据都关系表中的一个字段,目前系统的关系表只有一个Sensors表。而实现上,它是由两部分组成的,一部分作为数据库前端,接收普通的查询和控制命令,以及基于事件的查询,同时由TinyDB根据传感器网络的能量自动调整执行周期的查询;另一部分是运行在节点上的嵌入式数据库引擎,具体负责传感器网络中的数据管理,以及同时执行多个查询等。

  TinyDB系统主要是由客户端、模块化标准TinvDB Server和传感器网络节点端三个部分组成。客户端安装有基于Java的应用程序接口(TinyDB客户端API),用户通过该接口来使用TinyDB。传感器网络中的每一个节点都会安装TinvDB的传感器网络软件(TinyDB QP)。

  TniyDB的客户端软件包括两部分:一部分是类似于SOL语言的查询语言TinySQL,是供终端用户使用的。它屏蔽了无线传感器网络的细节,通过作为应用接口的数据库前端,用户看到的是一个数据库系统,故只需要使用类SOL进行数据查询检索即可。即:

  另一部分是基于Java的应用程序界面,主要支持用户使用TinyDB编写应用程序构成,主要功能包括查询请求的接收、验证、优化,查询的管理和查询结果的接收,发送控制命令,与无线传感器网络相连接,建立数据库与用户交互的界面等。图1所示展示了TinyDB应用程序的功能。

  传感器网络节点端的软件包括四个用nesC语言编写的构件:传感器节点目录及模式管理器、查询处理器、存储管理器和网络拓扑管理器。传感器节点目录负责记录每个节点的属性”。

  查询处理器负责完成查询处理工作,使用传感器目录存储的信息可以获得传感器节点的属性。存储管理器由MemAlloc.allocComplete()和actComplete()来触发相应的事件。网络拓扑管理器可为TinyDB处理所有传感器节点到传感器节点以及传感器节点到基站间的通信,即路由查询和数据信息。

  网络拓扑管理器使用简单的树维护算法来建立一个以汇聚节点为根节点的树型拓扑结构,每个传感器节点保存一个邻居节点表,并在这些邻居节点中选择一个节点作为它在路由树中的父节点。其具体实现流程图如图2所示。

  在发送阶段,模块化标准首先是初始化,即设置一些参数为默认值,可设置汇聚节点(节点ID号为0)父节点为自身,跳数为0。计算gUpdateInterval=TADA_TO_ROUTE_RATIO*DATA_FREQ,也就是一个路由更新报文的时间。

  然后是执行TimerTask(),每隔gUpdateInterval的时间执行一次TimerTask ()任务。主要包括更新路由表,选择父节点,发送数据包等。

  更新路由表就是通过计数器控制每隔十个gUpdateInterval触发一次做邻居表项的更新计算,可由updateTable()调用updateEst ()来实现。主要是更新路由表项中的跳数和通信代价。

  计算代价函数主要是链路估计,其基本思想是由节点统计一定时间内从某个邻居节点接收到的分组占该邻居节点发往该节点的分组数量的比重。链路估计包括发送代价估计和接收代价估计两个部分,并用这两个值来表示链路的双向通信代价。此外,还应综合原先的链路估计以决定新的链路估计值。

本文由晋城市报警模块有限公司发布于公司简介,转载请注明出处:WSN中基于TinyDB路由模块的分析与改进

关键词: 模块化标准