首页 理论教育 传感器网络数据融合的应用示例

传感器网络数据融合的应用示例

时间:2023-06-26 理论教育 版权反馈
【摘要】:由于传感器网络具有以数据为中心的特点,尽管在网络层和其他层次结构上也可以采用数据融合技术,但是在应用层实现数据融合最常见。传感器网络可以实现多任务,应用层应该提供方便、灵活的查询提交手段。传感器网络采用类SQL的优点在于:对于用户需求的表达能力强,易于使用。在传感器网络应用中,SQL融合操作一般包括5个基本操作符:COUNT、MIN、MAX,SUM和AVERAGE。

传感器网络数据融合的应用示例

由于传感器网络具有以数据为中心的特点,尽管在网络层和其他层次结构上也可以采用数据融合技术,但是在应用层实现数据融合最常见。通常应用层的设计需要考虑以下几点:

(1)应用层的用户接口需要对用户屏蔽底层的操作,用户不必了解数据具体是如何收集上来的,即使底层实现有了变化,用户也不必改变原来的操作习惯。

(2)传感器网络可以实现多任务,应用层应该提供方便、灵活的查询提交手段。

(3)既然通信的代价相对于本地计算的代价要高,应用层数据的表现形式应便于进行网内计算,以大幅度减少通信的数据量,减小能量消耗。

为了满足上述要求,分布式数据库技术被应用于传感器网络的数据收集过程,应用层接口可以采用类似结构化查询语言(Structured Query Language,SQL)的风格。SQL在多年的发展过程中,已被证明可以在基于内容的数据库系统中工作得很好。

传感器网络采用类SQL的优点在于:

(1)对于用户需求的表达能力强,易于使用。

(2)可以应用于任何数据类型的查询操作,能够对用户完全屏蔽底层的实现。

(3)它的表达形式非常易于通过网内处理进行查询优化,中间结点均理解数据请求,可以对接收到的数据和自己的数据进行本地运算,只提交运算结果。

(4)便于在研究领域或工业领域进行标准化。

在传感器网络应用中,SQL融合操作一般包括5个基本操作符:COUNT、MIN、MAX,SUM和AVERAGE。与传统数据库的SQL应用类似,COUNT用于计算一个集合中元素的个数;MIN和MAX分别计算最小值和最大值;SUM计算所有数值的和;AVERAGE用于计算所有数值的平均数。

例如,如果传感器结点的光照指数(Light)大于10,则下面的语句可以返回关于它们的温度(Temp)的平均值和最高值的查询请求:

对于不同的传感器网络应用,可以扩展不同的操作符来增强查询和融合的能力。例如可以加入GROUP和HAVING两个常用的操作符,或者一些较为复杂的统计运算符,像直方图等。GROUP可以根据某一属性将数据分成组,它可以返回一组数据,而不是只返回一个数值;HAVING用于对参与运算的数据的属性值进行限制。

下面通过一个简单的例子,说明数据收集是如何在传感器网络中进行的。假设需要查询建筑物的第6层房间中温度超过25℃的房间号及其最高温度,可以使用下面的查询请求:(www.xing528.com)

假设6层有4个房间,房间内传感器的位置以及通信路径如图5-3所示。为了突出数据收集的过程,便于简化讨论,这里假设以下三项条件能得到满足:

图5-3 根据类SQL语言进行网内处理的示例

(1)所有结点都已通过某种方法(如简单的扩散)知道了查询请求。

(2)各结点的数据传输路径已经由某种路由算法确定,例如图中虚线代表的树形路由。

(3)图中走廊尽头的黑色结点负责将查询结果提交给用户,即此结点为本楼层的数据汇聚结点。

图中的各传感器结点均已准备好一份数据并以(Room,Temp)的形式表示。一种简单的实现可按如下方式操作:

(1)由于各个结点均理解查询请求,它们会首先检查自己的数据是否符合HAVING语句的要求(即温度值是否高于25℃),以决定自己的数据是否参与运算或需要发送。

(2)各个结点在接收到其他结点发送来的数据后,进行本地运算,运算内容包括将数据按照房间号进行分组,并比较得出此房间目前已知的最高温度,运算结果将被继续向上游结点提交。

(3)中间结点如果在一段时间内没有收到邻居结点发送来的数据,可以认为自邻居结点以下,没有需要提交的数据。

按照上面的操作原则,由于1~6号结点以及10、11号结点的温度值不满足大于25的条件,所以不会发送数据。8号结点将结果发送给7号结点,7号结点通过本地融合,将两者之间比较大的发送给汇聚结点,一共发送了2个数据包;9号结点将自己的计算结果发送给8号结点,8号结点接收到数据后进行本地计算,并将最大值再次发送给7号结点;7号结点更新8号结点发送来的计算结果后,发送给汇聚结点;汇聚结点等待一段时间确认没有其他数据需要接收后,将查询结果提交,数据收集过程结束。

如果将一组(Room,Temp)值视为一份数据,上述过程总共在网内发送了5份数据。假如不使用任何数据融合手段,让各个结点单独发送数据到汇聚结点,由汇聚结点集中计算结果,则网络需要发送25份数据。

上述例子中的实现方法很简单,但一个不能回避的问题就是查询效率比较低。每个中间结点均要等待一段时间以确定邻居结点没有数据发送,而传输路径为树形结构,这将导致高层结点需要等待的时间与树的深度成正比。

为了改进这种情况,可以令不需要发送数据的结点发送一个非常短的分组,用于通知上游邻居结点自己没有数据需要发送,而不是完全沉默。这是一种用少量的能量消耗来换取时间性能的折中方法。即使这样,与不进行网内处理的方法相比,该方法仍能够显著减少数据通信量,有效地节省能量。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈