一种无线传感器网络中基于消息预取的移动查询系统的制作方法

文档序号:17000433发布日期:2019-03-02 01:45阅读:122来源:国知局
一种无线传感器网络中基于消息预取的移动查询系统的制作方法

本发明涉及一种无线传感器网络中基于消息预取的移动查询系统。



背景技术:

在监测区域内,以随机方式分布的集成有传感器、数据处理单元和无线通信模块的微小节点通过自组织方式便构成了无线传感器网络,它使得人类对感兴趣的自然现象和事件进行监控成为可能。近年来,无线传感器网络在军事和民用领域都取得了一定的应用和发展。无线传感器网络和传统网络有着明显的差异,它以数据为中心而不仅仅只是传输数据,如何解决向终端用户传送消息的数据服务问题是它面临的关键问题之一。



技术实现要素:

本发明公开了一种无线传感器网络中基于消息预取的移动查询系统,包括移动查询模型构建模块、代理体和传感器网络节点;

所述移动查询模型构建模块用于构建移动查询模型;

所述代理体是独立于传感器网络的移动装置,由用户携带,跟随用户一起穿越传感区域,同时,与区域内的传感器建立无线链路;

用户通过代理体的查询接口发起查询请求,查询接口将查询请求转换为相应查询处理过程,附加上运动预测,再将这些信息传送给传感器网络,由传感器网络执行该次查询,并且依据运动预测周期性地产生特定位置处的查询结果,代理体内的数据集中组件获取这些查询结果,经过处理后再通过查询接口返回给用户;

所述传感器网络节点包括预取模块、查询扩散模块、数据收集模块,

所述预取模块用于执行预取功能;

所述查询扩散模块用于执行查询扩散功能;

所述数据收集模块用于执行数据收集功能。

所述移动查询模型包含一个移动用户,在传感区域中穿行,并周期性地从查询区域获取数据,查询请求命令为:query(para,tperiod,tfresh,tduration,area(p)),其中,para是传感器被查询的参数类型;tperiod为查询周期,查询结果必须在每个周期结束之前传送给用户;tfresh为数据的生存时间,即:第k个查询结果必须在k*tperiod之前接收,而接收的结果数据至多已存在tfresh;tduration是查询的持续时间;area(p)是与用户位置p相关的查询区域函数,设定查询区域是以点p为圆心的圆形区域,要查询的区域需要通过预测运动来确定,表示为一个4元组<p,ts,tv,tg>,p是用户输入的预测运动矢量,形式为:<(v1,t1),…,(vn,tn)>,vn是用户在时刻tn的速度,用户沿着直线行走,在[tn,tn+1]时间内速度恒定;设定用户在一个二维空间行走,ts为预测变位活动的起始时间,即预测用户依据p在时间间隔[ts,ts+tv]内运动;tg是运动预测的产生时间;ta=ts-tg,ta表示移动查询接收到预测事件的最早时刻,称为预测提前时间;移动查询模型设定传感器网络内所有节点时钟同步,并且通过本地位置服务知道自己所处的位置。

所述预取模块执行预取功能,具体执行如下步骤:

步骤a1,代理体使用运动预测,预测出每次查询的区域及结果接收点,这些点称为传播点;

步骤a2,在查询区域内,预取模块以传播点为中心,寻找到其欧氏距离最小的节点nc,nc负责将查询请求扩散到整个查询区域,收集各节点传送来的查询数据,并及时传送给代理体,欧氏距离最小的节点称为收集节点,每次查询有唯一的收集节点;

步骤a3,代理体向第一个收集节点nc1传送预取消息,nc1选择一个最佳时刻再传向下一个收集节点,依次向前传递,每个传播点发出有关本次查询的预取消息,由收集节点负责将预取消息继续传送给所在查询区域内的所有节点。

所述查询扩散模块执行查询扩散功能,具体执行如下步骤:

步骤b1,查询扩散模块从传播点向收集节点传送预取消息;

步骤b2,收集节点接收到预取消息后,向查询区域内所有节点洪泛本次查询处理树的建立消息,使得建立消息由中枢节点向前传送,直到查询区域边缘;

步骤b3,收到建立消息的中枢节点记下首先将消息传给自己的节点,将该节点视作自己的父节点,并反馈该节点;

步骤b4,在睡眠节点唤醒状态时,中枢节点向它们发送建立消息,接收到查询要求后,睡眠节点记下其父节点,返回确认消息,并重新安排它们的睡眠计划,以在查询到来时能及时传递查询数据。

所述数据收集模块执行数据收集功能,具体执行如下步骤:

步骤c1,节点n接收到建立消息后,数据收集模块设置其截止时间为k*tperiod-tfresh,并广播此消息;

步骤c2,如果有节点接收到从n传播过来的建立消息,并向n返回了确认消息,则n发现它至少拥有一个子节点,重新设置其截止时间tn,以保证子节点有足够的时间来收集和返回传感器测量数据:其中dnp是子节点n与传播点p间的欧氏距离,rp和rq为两个速度参数,一般取值在5~10公里/小时之间,本发明中根据经验,设定rp=5公里/小时,rq=7公里/小时,为父节点设置一个传递的截止期限tdeadline,子节点必须在tdeadline-tn期限内传送数据给节点n。

有益效果:仿真结果表明,本发明能保持良好的数据完整性和高的数据服务质量,并且比ieee802.11的psm模式多消耗不到24%的能量。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。

图1为本发明架构图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

本实施例中构建移动查询模型,该模型包含一个移动用户,在传感区域中穿行,并周期性地从查询区域获取数据。查询请求命令为:query(para,tperiod,tfresh,tduration,area(p)),其中,para是传感器被查询的参数类型,比如温度、压力、光强或者它们的组合;tperiod为查询周期,查询结果必须在每个周期结束之前传送给用户;tfresh为数据的生存时间,即:第k个查询结果必须在k*tperiod之前接收,而接收的结果数据至多已存在tfresh;tduration是查询的持续时间,在提交一次查询后,用户期望每隔tperiod时间收到一次查询结果,在整个tduration时间内都如此,每次移动查询就有个查询结果。area(p)是与用户位置p相关的查询区域函数。设定area(p)是以点p为圆心的圆形区域。要查询的区域需要通过预测运动来确定,表示为一个4元组<p,ts,tv,tg>,p是用户输入的预测运动矢量,形式为:<(v1,t1),…,(vn,tn)>,vn是用户在时刻tn的速度,用户沿着直线行走,在[tn,tn+1]时间内速度恒定。为简单化设定用户在一个二维空间行走,ts为预测变位活动的起始时间,也就是说预测用户依据p在时间间隔[ts,ts+tv]内运动。tg是运动预测的产生时间。ta=ts-tg,ta表示移动查询接收到预测事件的最早时刻,称为预测提前时间。移动查询模型设定传感器网络内所有节点时钟同步,并且通过本地位置服务知道自己所处的位置。

如图1所示,本发明提供了一种无线传感器网络中基于消息预取的移动查询系统,包括代理体和传感器网络节点。代理体是独立于传感器网络的移动装置,易于携带,跟随用户一起穿越传感区域,与区域内的传感器建立无线链路。用户通过代理体的查询接口发起查询请求。查询接口将请求转换为相应查询处理过程,附加上运动预测,将这些信息传送给传感器网络,由传感器网络执行该次查询,并且依据运动预测周期性地产生特定位置处的查询结果。代理体内的数据集中组件获取这些查询结果,经过处理后再通过查询接口返回给用户。

传感器网络节点包括预取模块、查询扩散模块、数据收集模块,预取模块执行预取功能:由于用户的移动,处于睡眠状态的传感器网络节点可能没有来得及响应查询请求而无法发送数据,导致查询结果数据不完整。为此,移动查询技术通过执行预取处理来发送预取消息,通知那些处于将要查询区域的节点预先取得查询请求,通过重新安排它们的睡眠计划来响应查询请求。预取消息的内容包含有该次查询的所有信息。整个工作流程如下:

步骤a1,代理体使用运动预测,预测出每次查询的区域及结果接收点,这些点称为传播点;

步骤a2,在查询区域内,预取模块以传播点为中心,寻找到其欧氏距离最小的节点nc,nc负责将查询请求扩散到整个查询区域,收集各节点传送来的查询数据,并及时传送给代理体。欧氏距离最小的节点称为收集节点,每次查询有唯一的收集节点;

步骤a3,代理体向第一个收集节点nc1传送预取消息,nc1选择一个最佳时刻再传向下一个收集节点,依次向前传递,每个传播点发出有关本次查询的预取消息,由收集节点负责将预取消息继续传送给所在查询区域内的所有节点。

所述的最佳时刻,是指收集节点并不是收到预取消息后立即向前传递,而是尽可能迟地传递,且能保证下一个收集节点有足够时间来分散查询请求、唤醒睡眠节点和及时将数据传回代理体。

查询扩散模块执行查询扩散功能:查询扩散模块负责建立起查询树,并将查询处理沿着树的路径分布到区域内的所有节点,具体步骤为:

步骤b1,查询扩散模块从传播点向收集节点传送预取消息;

步骤b2,收集节点接收到预取消息后,向查询区域内所有节点洪泛本次查询处理树的建立消息,使得建立消息由中枢节点向前传送,直到查询区域边缘;

步骤b3,收到建立消息的中枢节点记下首先将消息传给自己的节点,将该节点视作自己的父节点,并反馈该节点;

步骤b4,在睡眠节点唤醒状态时,中枢节点向它们发送建立消息,接收到查询要求后,睡眠节点记下其父节点,返回确认消息,并重新安排它们的睡眠计划,以在查询到来时能及时传递查询数据。

建立后的查询树节点是收集节点,中枢节点构成了分支,所有睡眠节点为叶子节点,父子关系都已经确定。将睡眠节点作为叶子节点,使得在执行完传感器数据读取和传递后,节点可以立即转入睡眠状态,不充当任何传递中间数据功能,以最小化它们的能量消耗。移动查询使用的这种查询树建立方法代价较低,每个查询树只被查询一次。

数据收集模块执行数据收集功能:节点读取传感器数据,沿着树的路径传送回收集节点,该过程由数据收集模块完成。查询中节点进行数据处理的最早时间为截止时间前的tfresh,所以数据收集必须以少于tfresh的时间完成。具体步骤为:

步骤c1,节点n接收到建立消息后,设置其截止时间为k*tperiod-tfresh,并广播此消息;

步骤c2,如果有节点接收到从n传播过来的建立消息,并向n返回了确认消息,则n发现它至少拥有一个子节点,重新设置其截止时间tn,以保证子节点有足够的时间来收集和返回传感器测量数据:其中dnp是子节点n与传播点p间的欧氏距离,为父节点设置一个传递的截止期限tdeadline,子节点必须在tdeadline-tn期限内传送数据给节点n。

节点工作于能量协议上,设置节点处于工作循环来限制能量消耗。

本发明提供了一种无线传感器网络中基于消息预取的移动查询系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1