时间:2022-10-30 20:30:01 | 来源:信息时代
时间:2022-10-30 20:30:01 来源:信息时代
连续查询 : 在某一段时间间隔内连续地查询传感器网络数据的变化情况。连续查询通常是在数据流到达之前预先注册的,并长期驻留在系统中处于执行状态。在无线传感器网络中,连续查询被大量应用在对感知区域的监控与感知数据的统计分析中。用户可以使用感知查询语言定义连续查询,它包含查询间隔、查询区域、查询的属性名(例如,温度、湿度、压力)等。连续查询的结果能够实时的反映无线传感器网络上的数据状态。
例如,查询“在连续的3小时里,每10秒检测一次无线传感器网络内的每个传感器节点感知的光的强度和所在方位的温度”。该查询语言可以被定义为如下形式:
SELECT nodeid,light,temperature
FROM sensors
SAMPLE PERIOD 10s FOR 10800s
一旦一个连续查询被提交,全局处理器需要把查询分解为一系列的子查询提交到相关传感器节点上,每个传感器节点具有局部查询处理器,负责执行子查询。预先注册到系统中的连续查询由数据流的到达触发执行。当节点不断感知数据时,触发节点相应的,这些子查询也是连续的,需要扫描、过滤和综合相关无限实时数据流,产生连续的部分查询结果,返回给全局查询处理器。经过进一步全局综合处理,形成最终的查询结果。查询结果随着时间不断产生,并以流的形式返回给用户。
在任意时刻,连续查询的结果通常是由查询在此前产生的所有数据构成的集合。连续查询的语义是时间独立的,也就是说不同用户使用同一个连续查询将得到相同的结果。假设每个时钟周期进行一次查询操作,Q(t)表示在时间t输出的数据集合。当一个查询是连续查询时,那么它在t时刻总输出的集合QM(t)表示如下: