摘要
查询处理作为大规模无线传感器网络中智能服务的一个重要操作,可以根据用户需求对网络中的感知数据进行检索和回传.然而,部署在恶劣环境中的无线传感网络,节点容易遭受外力破坏,或者自身资源(能量、存储等)有限,可能会导致节点发生位移和故障,从而造成网络拓扑不断改变以及部分节点的感知数据失效.同时,由于节点感知数据容量大、传输带宽有限以及网络链路不可靠等情况,可能会造成网络通信时延大大增加.这些因素使得快速、可靠的数据查询处理成为无线传感网中一个难题.为了解决这个难题,提出一种动态网络中低延迟高可靠的数据查询机制.该机制是一种非聚合随机查询方式,通过将传感节点划分为源节点和查询节点来实现数据查询.首先,根据监测事件将网络划分为若干个子区域,每个子区域中的源节点相互协作,并按照时间顺序依次轮流监听该区域的事件信息;接着,源节点根据预估的平均节点故障概率,计算出一个合理的备份数量,并将源数据按照该数量存储到邻居节点中,以降低源数据的失效概率;然后,为了加快数据查询速度,源节点定期对源数据块进行编码压缩,并选取剩余能量和存储空间较小的多个邻居节点作为下一跳接收节点.这些接收节点基于局部区域中节点个数大小,决定是否接收存储该报文.重复上述过程,直至压缩数据均匀地分布在网络中.另一方面,查询节点接收到查询请求时,也使用负载均衡多路分发方式将查询请求传输到部分节点上.为了避免目标数据的冗余回传,当查询请求成功查询到目标数据时,目标节点先修改访问位,再选取与查询节点距离最近的邻居节点作为下一跳接收节点,迭代执行上述操作,直到用户获得所需要的事件信息.在以上过程中,为了节省节点能量,在保证高成功查询率的条件下,建立通信能耗最小化的优化模型,计算出最优的压缩数据副本数和查询消息副本数,之后,源节点和查询节点分别按照该数量进行副本数据分发.最后,理论分析和实验结果表明,与其它四种查询算法相比,提出的查询机制具有更高的查询成功率、更低的通信能耗和通信时延.