一种基于无线传感器网络的数据查询系统及其查询方法

文档序号:7551326阅读:202来源:国知局
专利名称:一种基于无线传感器网络的数据查询系统及其查询方法
技术领域
本发明涉及无线传感器网络领域,尤其是一种基于无线传感器网络的数据查询系统及其查询方法。
背景技术
无线传感器网络是一种由大量体积小、价格低廉的、具有传感和通信功能的节点组成的多跳自组织系统。无线传感器网络部署在一定区域内,通过采集、传输和处理传感器数据,实现对覆盖区域内的感知对象准确而有效的监测和控制,已在工业、环境、军事等领域得到广泛应用。一方面无线传感器网络通常包含多个传感器子网以覆盖整个监测区域,这些子网分布在不同的地理位置,而且包含各种类型的传感器节点以全方位获取监测目标信息;另一方面,无线传感器网络数据通常要为数量庞大的用户,如整个企业员工,乃至全社会,来共同使用,这些用户对传感器网络的数据在需求程度、访问权限和使用方式上存在差异。于是,如何使拓扑结构复杂和组成形式多样的无线传感器网络为各种不同的用户提供灵活、方便、有效而安全的数据查询服务,是无线传感器网络大规模、大范围应用亟待解决的关键问题。此外,尽管无线传感器网络可看作一种分布式数据库,然而无线传感器网络中的数据查询与传统数据库查询存在很大的差异。传统数据库的查询任务处理是瞬时的:一个查询任务对应一个查询结果,查询结果完成查询任务也就结束。然而在无线传感器网络中,为了获取全面准确有效的信息,需要长时间观测监测对象,因此数据查询任务通常是持续的:一个查询任务对应用户指定时间段内所需采集的一组结果,查询任务何时结束由用户来控制。因此,传统数据库查询方法无法直接应用到无线传感器网络数据查询中。

发明内容
本发明的首要目的在于提供一种成本低、实现对无线传感器网络数据的可靠、安全、可扩展查询的基于无线传感器网络的数据查询系统。为实现上述目的,本发明采用了以下技术方案:一种基于无线传感器网络的数据查询系统,包括数据查询客户端,其输入输出端一方面通过消息链路与数据查询服务器的输入输出端通信,另一方面通过数据链路与数据查询网关的输入输出端通信,数据查询网关的输入输出端通过数据链路分别与数据库、组成无线传感器网络的多个无线传感器子网的汇聚节点通信。所述的无线传感器子网由一个汇聚节点和由至少两个采集节点组成的各个簇团组成,簇团中的一个采集节点作为簇头与汇聚节点通信,所述的采集节点由采集模块、第一处理模块和第一通信模块组成,米集模块的输入输出端与第一处理模块的输入输出端相连,第一处理模块的输入输出端与第一通信模块的输入输出端相连;所述的汇聚节点由子网管理模块、第二处理模块和第二通信模块组成,子网管理模块的输入输出端与第二处理模块的输入输出端相连,第二处理模块的输入输出端与第二通信模块的输入输出端相连。
所述的数据查询网关由第一信息管理模块、第一消息处理模块和第三通信模块组成,第一信息管理模块的输入输出端与第一消息处理模块的输入输出端相连,第一消息处理模块由数据采集子网消息处理子模块、数据查询消息处理子模块和数据库消息处理子模块组成,数据采集子网消息处理子模块与第三通信模块中的无线传感器网络通信单元相连,数据查询消息处理子模块通过数据查询资源管理模块与第三通信模块中的IP通信单元相连,或直接与第三通信模块中的IP通信单元相连,数据库消息处理子模块与第三通信模块中的IP通信单元相连。所述的数据查询服务器由第二信息管理模块、资源管理模块、第二消息处理模块和第四通信模块组成,第二信息管理模块、资源管理模块的输入输出端均与第二消息处理模块的输入输出端相连,第二消息处理模块的输入输出端与第四通信模块的输入输出端相连。所述的数据查询客户端由用户模块、数据查询模块和第五通信模块组成,用户模块由用户操作显示子模块和用户处理子模块组成,数据查询模块由信息管理子模块、消息处理子模块和资源管理子模块组成,用户操作显示子模块的输入输出端与用户处理子模块的输入输出端相连,用户处理子模块的输入输出端与第五通信模块的输入输出端相连;信息管理子模块的输入输出端与消息处理子模块的输入输出端相连,消息处理子模块的输入输出端分别与第五通信模块、资源管理子模块的输入输出端相连,资源管理子模块的输入输出端与第五通信模块的输入输出端相连。本发明的另一目的在于提供一种基于无线传感器网络的数据查询系统的查询方法,该方法包括下列顺序的步骤:
(1)上电初始化,用户注册,数据查询客户端接收并处理用户输入的数据查询请求命令,向数据查询服务器发送数据查询请求消息,数据查询服务器将数据查询请求消息发送到数据查询网关,数据查询网关接收并处理数据查询请求消息,向无线传感器子网或数据库发送数据查询请求;
(2)无线传感器子网或数据库接收数据查询请求并处理,向数据查询网关返回数据查询成功响应,数据查询网关将数据查询成功响应转发到数据查询服务器,并向无线传感器子网或数据库发送数据查询结果发送消息;
(3)数据查询服务器接收并处理数据查询成功响应,将数据查询成功响应转发到数据查询客户端,数据查询客户端接收并处理数据查询成功响应,向用户发送数据查询接收命令,通知用户进行数据接收。当数据查询结果传输结束或用户主动终止数据查询时,在数据查询传输状态的数据查询进入正常释放流程,数据查询正常释放分为数据查询终端用户释放和数据查询网关释放。数据查询服务器接收或检测到数据查询异常错误,向数据查询客户端发送数据查询释放消息,数据查询客户端接收并处理数据查询释放消息,向用户发送数据查询释放命令;数据查询客户端向数据查询服务器发送数据查询释放成功响应,数据查询服务器向数据查询网关发送数据查询释放消息,数据查询网关向无线传感器子网或数据库发送数据查询释放命令,无线传感器子网或数据库接收数据查询释放命令,向数据查询网关返回数据查询释放成功响应,数据查询网关接收数据查询释放成功响应,向数据查询服务器发送数据查询释放成功响应。所述的数据查询终端用户释放是指用户主动终止数据查询,具体包括如下步骤:用户向数据查询客户端发送数据查询释放命令,数据查询释放命令包括即将释放的数据查询任务号;数据查询客户端接收并处理数据查询释放命令,向数据查询服务器发送数据查询释放消息;数据查询服务器接收并处理数据查询释放消息,向返回数据查询结果的数据查询网关发送数据查询释放消息;数据查询网关接收并处理数据查询释放消息,向无线传感器子网或数据库发送数据查询释放命令;无线传感器子网接收并处理数据查询释放命令,则将与数据查询任务相关数据采集取消,向数据查询网关返回数据查询释放成功响应;数据查询网关向数据查询服务器发送数据查询释放成功响应;数据查询服务器接收并处理数据查询释放成功响应,向数据查询客户端发送数据查询释放成功响应;数据查询客户端接收并处理数据查询释放成功响应,向用户发送数据查询释放成功命令。所述的数据查询网关释放在数据查询结果传输结束时触发,具体包括如下步骤,数据查询网关向无线传感器子网或数据库发送数据查询释放命令,数据查询网关向数据查询服务器发送数据查询释放消息,数据查询服务器接收并处理数据查询释放消息,向数据查询客户端发送数据查询释放消息,数据查询客户端接收并处理数据查询释放消息,向用户发送数据查询释放命令。由上述技术方案可知,本发明通过数据查询服务器管理数据查询网关和用户的注册鉴权,并控制数据查询任务的建立和释放,提高了基于无线传感器网络的数据查询系统的扩展性和安全性。采用查询消息流和查询数据流相分离的方法,通过数据查询客户端、数据查询服务器和数据查询网关之间数据查询消息的交互,在数据查询服务器查询控制下,建立数据查询客户端与数据查询网关之间传输数据查询结果的链路,提高了数据查询业务的可靠性和服务质量,实现了大规模无线传感器网络中多用户数据查询业务。


图1是本发明的系统结构示意 图2是本发明的系统状态转移 图3是本发明的注册用户注册消息交互流程 图4是本发明的注册用户注销消息交互流程 图5是本发明中无线传感器子网拓扑结构示意 图6、7、8、9、10分别是本发明中采集节点、汇聚节点、数据查询网关、数据查询服务器和数据查询客户端的电路框 图11是本发明的数据查询方法状态转移 图12是本发明的数据查询建立消息交互流程 图13是本发明的数据查询正常释放消息交互流程 图14是本发明的数据查询异常释放消息交互流程图。
具体实施例方式一种基于无线传感器网络3的数据查询系统,包括数据查询客户端11,其输入输出端一方面通过消息链路与数据查询服务器10的输入输出端通信,另一方面通过数据链路与数据查询网关9的输入输出端通信,数据查询网关9的输入输出端通过数据链路分别与数据库、组成无线传感器网络3的多个无线传感器子网2的汇聚节点I通信。如图1所示。用户是数据查询业务的使用者,用户具有不同的层次和需求,其使用数据查询业务的权限、目的和方式存在差异。本发明使用注册方式管理用户、数据查询客户端11、数据查询网关9和无线传感器网络3。本发明系统数据查询业务正常工作前无线传感器网络3需在数据查询网关9注册,且数据查询网关9、数据查询客户端11和用户需在数据查询服务器10上注册。在注册时,注册用户将用户信息通过注册消息发送到注册服务器,注册服务器对注册消息中的用户信息鉴权,并向注册用户返回注册结果。如图2所示,无线传感器网络3、数据查询网关9和数据查询客户端11工作时包含三个状态:初始状态、注册状态和工作状态。无线传感器网络3、数据查询网关9和数据查询客户端11上电启动时进入初始状态;初始状态下设备按照初始化配置进行上电所需的数据配置,初始化成功后进入注册状态;在该状态,注册用户通过注册流程在相应的注册服务器上注册。其注册成功的流程图如图3所示,首先,注册用户向注册服务器发送注册消息,注册消息包括注册用户信息;其次,注册服务器对注册消息中注册用户信息进行鉴权,如鉴权成功,向注册用户发送注册成功响应;最后,注册用户接收到注册成功响应后进入工作状态。在工作状态下为维持注册用户与注册服务器之间的注册关系,注册用户以固定时间间隔向注册服务器发送心跳消息;注册服务器收到心跳消息后向注册用户发送心跳消息响应。发送心跳消息的时间间隔根据系统网络状况而定,一般设置在3 5秒。当注册用户和注册服务器间能相互收到心跳消息和响应时,注册状态正常,注册用户保持在工作状态;否则心跳异常,注册用户返回注册状态重新进入注册流程。在工作状态,注册用户能正常处理数据查询请求消息,完成不同用户的不同数据查询任务。工作状态的注册用户可通过注销消息退出已注册的注册服务器,回到注册状态以注册到其他注册服务器,如图4所示,首先,注册用户向注册服务器发送注销消息;其次,注册服务器根据注销消息向注册用户发送注销成功响应。此外,在注册状态或工作状态下出现重大错误或重启,设备返回初始状态,重新进行初始化数据配置。本发明中的其他设备,包括数据查询服务器10和数据库在工作时没有注册状态。当数据查询服务器10和数据库初始化成功后直接进入工作状态,在工作状态下正常处理数据查询消息。当本发明系统中的数据查询客户端11和数据查询服务器10处于工作状态后,用户通过数据查询客户端11在数据查询服务器10上注册,获得数据查询业务的使用权。用户的注册流程与图3所示的注册流程相同,尽管用户注册和数据查询客户端11注册均在数据查询客户端11与数据查询服务器10之间进行,但完成不同的任务,使用不同的注册命令,是独立的两个流程。注册成功后用户的用户信息,包括用户名、密码、数据查询业务权限等信息存储到注册的数据查询服务器10上。当再次使用本发明的数据查询业务时,用户利用已注册的信息登录数据查询服务器10。用户登录流程与注册流程类似,可采用相同的注册消息完成。两者的差异在于数据查询服务器10中是否存在注册消息中用户信息:如果存在,则是数据查询终端用户的登录;否则,则是数据查询终端用户注册。数据查询终端用户注册或登录成功,即能使用本发明的数据查询业务,通过数据查询客户端11发送数据查询请求,获取查看数据查询结果。在数据查询结束后,数据查询终端用户可采用注销流程退出本发明,注销流程与图4所示的注销流程相同。数据查询消息中的数据查询请求采用类SQL语言表示,是一种SQL语言的扩展:既包含标准SQL语言,用于查询数据库中的历史数据;也包含无线传感器网络3专用SQL语言,用于查询无线传感器网络3。数据查询网关9对数据查询消息中的数据查询请求进行解析,将其转换为在查询无线传感器网络3或数据库上直接执行的数据查询请求。为实现多用户数据查询业务,本发明系统在数据查询客户端11、数据查询服务器10和数据查询网关9上使用数据查询任务对不同数据查询终端用户发起的不同数据查询请求进行管理。数据查询任务是对每个数据查询终端用户发起的数据查询的建模,是本发明控制管理数据查询请求的核心。数据查询任务存储了标识数据查询的任务号、数据查询任务状态、数据查询请求、数据查询传输资源信息、以及数据查询客户端11信息和数据查询网关9信息等。数据查询终端用户发起的数据查询请求经过处理在数据查询客户端11、数据查询服务器10和数据查询网关9上分别生成一个具有相同任务号的数据查询任务。数据查询任务号在数据查询服务器10上生成并管理,由数据查询客户端11、数据查询网关9以及数据查询请求条件唯一决定。数据查询任务状态随数据查询客户端11、数据查询服务器10和数据查询网关9之间消息的交互而变化。但不同设备上具有相同任务号的数据查询任务状态变化保持同步,它们共同决定了数据查询终端用户的数据查询请求的处理进程。数据查询终端用户的数据查询请求在数据查询客户端11、数据查询服务器10和数据查询网关9上对应的数据查询任务建立成功后,来自无线传感器网络3或数据库的数据通过数据查询任务中数据查询传输资源建立的专门链路从数据查询网关9直接传输到数据查询客户端11,供数据查询终端用户使用。于是如图1所示,本发明的数据查询数据传输链路与数据查询消息链路相互独立。数据查询消息在数据查询客户端11、数据查询服务器10和数据查询网关9之间传输,用来控制数据查询的建立、传输和释放。而数据查询结果数据在数据消息的控制下通过数据查询传输链路从数据查询网关9直接传输到数据查询客户端U。数据查询客户端11和数据查询网关9上的数据查询传输资源由数据查询服务器10统一管理。这种数据链路与消息链路分离的方式,不仅能灵活有效地控制和管理数据查询请求,而且通过专门的链路传输数据查询结果数据,能为数据查询终端客户提供具有服务质量保障的数据查询业务。根据基于无线传感器网络3的数据查询系统不同应用需求,数据查询网关9与数据查询客户端11之间数据查询结果传输可采用不同的传输协议。一般情况下,为实现数据的可靠实时传输,传输协议采用RTP协议。在使用RTP协议传输数据查询结果时,本发明的数据查询传输资源为RTP资源。数据查询服务器10对数据查询网关9和数据查询客户端11上的RTP资源的申请、打开和释放进行管理,保障本发明系统的服务质量。如图5所示,所述的无线传感器子网2由一个汇聚节点I和由至少两个采集节点6组成的各个簇团4组成,簇团4中的一个采集节点6作为簇头5与汇聚节点I通信。当无线传感器网络3监测范围广泛,目标信息需要不同类型传感器获取时,无线传感器网络3可按照地理分布区域或传感器节点类型划分为多个无线传感器子网2。无线传感器子网2通过数据查询网关9的管理,共同完成对整个监测区域内全部信息的获取。无线传感器子网2覆盖一定的监测区域,在数据查询网关9控制下完成监测区域内监测对象信息的采集。采集节点6采集的所有数据经过发送和其他采集节点6的转发,最终到达汇聚节点I。当无线传感器子网2覆盖范围小时,其拓扑结构一般采用多跳自组织结构;而当覆盖范围大时,无线传感器子网2可采用分簇的层次化结构。其中簇头5可以是从普通采集节点6中选择的作为簇内数据汇聚的采集节点6,也可以是预先布置的性能比普通采集节点6强的特殊采集节点6。簇内普通采集节点6发送的数据通过其他采集节点6的转发到达簇头5。簇头5与汇聚节点I直接通信,将簇内数据转发到汇聚节点I。通过分簇化的层次结构,无线传感器子网2可以覆盖较大的区域范围。无线传感器子网2可采用常用的无线传感器网络3通信协议,如IEEE 802.15.4,来实现节点间通信。如图6所示,所述的采集节点6由采集模块、第一处理模块和第一通信模块组成,米集模块的输入输出端与第一处理模块的输入输出端相连,第一处理模块的输入输出端与第一通信模块的输入输出端相连。第一通信模块接收其他采集节点6发送的数据,并在第一处理模块控制下发送数据。采集节点6发送的数据包含与采集的数据相关的信息,包括采集节点6标识、采集节点6位置、采集节点6类型、采集数据类型、采集数据时间和采集数据数值。采集模块在第一处理模块的控制下进行数据采集并上传,其基本功能是以固定时间周期采集基本数据。第一处理模块控制采集模块采集数据,以及处理第一通信模块接收的数据,并为数据选择发送路由。如图7所示,所述的汇聚节点I由子网管理模块、第二处理模块和第二通信模块组成,子网管理模块的输入输出端与第二处理模块的输入输出端相连,第二处理模块的输入输出端与第二通信模块的输入输出端相连。汇聚节点I比采集节点6具有更强的处理性能,其中,第二通信模块接收采集节点6发送的采集数据,并向数据查询网关9发送采集数据,接收数据查询网关9发送的数据查询消息,并向采集节点6发送控制消息。汇聚节点I向数据查询网关9发送的数据除了传感节点发送数据包含的信息外,还包括无线传感器子网2标识等信息。第二处理模块对第二通信模块接收的数据进行处理:从采集节点6发送的数据中获取节点信息,并发送给采集节点6;对数据查询网关9发送的数据查询消息进行解析,并根据采集节点6提供的节点信息,确定数据采集结果发送的节点,并控制第二通信模块向这些节点发送数据采集命令。子网管理模块根据第二处理模块发送的节点信息,管理无线传感器子网2信息,包括子网信息、采集节点6标识信息、采集节点6位置信息、采集节点6类型信息、采集节点6采集间隔信息和节点拓扑信息等;发起并管理子网注册信息;并根据第二处理模块对数据查询消息的处理为第二处理模块提供数据查询所需信息。如图8所示,所述的数据查询网关9由第一信息管理模块、第一消息处理模块7和第三通信模块8组成,第一信息管理模块的输入输出端与第一消息处理模块7的输入输出端相连,第一消息处理模块7由数据采集子网消息处理子模块、数据查询消息处理子模块和数据库消息处理子模块组成,数据采集子网消息处理子模块与第三通信模块8中的无线传感器网络3通信单元相连,数据查询消息处理子模块通过数据查询资源管理模块与第三通信模块8中的IP通信单元相连,或直接与第三通信模块8中的IP通信单元相连,数据库消息处理子模块与第三通信模块8中的IP通信单元相连。第三通信模块8接收汇聚节点1、数据查询服务器10或数据库发送的数据,并将数据查询网关9消息处理模块传递的数据发送到汇聚节点1、数据查询服务器10、数据库或数据查询客户端11。第三通信模块8至少有两种通信协议:数据查询网关9与汇聚节点I之间一般采用无线传感器网络3通信协议,而数据查询网关9与其他设备之间一般采用IP通信协议。数据查询网关9的主要功能就是使采用不同通信协议的无线传感器网络3与数据查询终端用户之间实现数据互通。第一消息处理模块7对第三通信模块8接收的消息进行解析处理后发送到第一信息管理模块,同时对第一信息管理模块发送的命令进行处理和编码后发送到第三通信模块8。数据采集子网消息处理子模块根据第一信息管理模块的数据查询命令向相关汇聚节点I发送数据查询请求,同时处理汇聚节点I返回的消息响应与数据。数据库消息处理子模块处理与数据库之间的消息数据,数据查询网关9与数据库之间可采用标准数据库语言,如SQL语言进行消息交互,于是,数据库消息处理子模块处理数据库发送的消息数据,并将第一信息管理模块发送的命令转换为SQL语言发送到数据库。数据查询消息处理子模块处理与数据查询服务器10之间的消息或响应,数据查询消息处理子模块根据消息内容,维护数据查询任务,并根据消息的处理结果与第一信息管理模块或数据查询资源管理模块管理进行交互。如图9所示,所述的数据查询服务器10由第二信息管理模块、资源管理模块、第二消息处理模块和第四通信模块组成,第二信息管理模块、资源管理模块的输入输出端均与第二消息处理模块的输入输出端相连,第二消息处理模块的输入输出端与第四通信模块的输入输出端相连。第四通信模块用于数据查询服务器10与数据查询网关9、数据查询客户端11之间数据查询消息的接收和发送。数据查询服务器10与数据查询网关9、数据查询客户端11之间采用基于IP协议的传输协议,一般可采用UDP协议。而在需要保障数据查询消息传输可靠性的应用中,可采用SCTP协议。第二消息处理模块处理数据查询相关消息和响应,根据消息处理结果与第二信息管理模块进行交互,完成对数据查询过程的控制。第二信息管理模块通过数据查询网关9和数据查询客户端11发送的注册消息管理维护它们的信息和状态。此外,还管理数据查询终端用户的注册和登录状态。数据查询终端用户在使用数据查询业务前必须在第二信息管理模块上进行用户和权限等信息的登记,并通过已注册数据查询客户端11登录到数据查询服务器10。这种方式能提高本发明的灵活性和安全性。资源管理模块管理数据查询网关9和数据查询客户端11的数据查询传输资源。数据查询服务器10上并没有实际的数据查询传输资源,而是数据查询网关9和数据查询客户端11上数据查询传输资源的逻辑表示。如图10所示,所述的数据查询客户端11由用户模块12、数据查询模块13和第五通信模块组成,用户模块12由用户操作显示子模块和用户处理子模块组成,数据查询模块13由信息管理子模块、消息处理子模块和资源管理子模块组成,用户操作显示子模块的输入输出端与用户处理子模块的输入输出端相连,用户处理子模块的输入输出端与第五通信模块的输入输出端相连;信息管理子模块的输入输出端与消息处理子模块的输入输出端相连,消息处理子模块的输入输出端分别与第五通信模块、资源管理子模块的输入输出端相连,资源管理子模块的输入输出端与第五通信模块的输入输出端相连。用户模块12与数据查询终端用户进行交互,处理数据查询终端用户的查询请求,并向数据查询终端用户显示查询结果。用户操作显示子模块为数据查询终端用户提供输入和输出功能,以便于数据查询终端用户在数据查询服务器10上注册、登录,以及根据需要发送数据查询请求并查看数据查询结果。根据不同的数据查询终端用户需求,用户操作显示子模块可采用图形用户接口或命令行方式进行交互式设计。而图形用户接口适于更广泛的用户,可增强本发明系统的可用性和易操作性。但不管数据查询终端用户操作显示子模块提供何种操作显示方式,最终数据查询终端用户的查询操作都转换为统一的类SQL语言以便于传输处理。用户处理子模块在数据查询请求中加入数据查询终端用户信息,封装成数据查询消息发送到第五通信模块,同时处理第五通信模块接收的数据查询结果并发送到用户操作显示子模块。数据查询模块13与数据查询服务器10进行交互,将用户模块12的数据查询消息处理后发送到数据查询服务器10,并处理数据查询服务器10的响应。在数据查询服务器10的控制下,数据查询模块13完成数据查询的建立、传输和释放。消息处理子模块处理来自用户模块12的数据查询消息以及来自数据查询服务器10的消息响应。根据消息的处理结果,维护数据查询任务并与信息管理子模块或资源管理子模块进行交互。消息处理子模块采用与数据查询服务器10和数据查询网关9相同的数据查询消息处理协议,同时也对数据查询任务进行维护,保证数据查询任务与数据查询服务器10以及数据查询网关9的一致。信息管理子模块管理并维护使用数据查询客户端11的数据查询终端用户的信息和状态;发起并管理数据查询客户端11的注册;并根据消息处理子模块的请求返回相关信息。资源管理子模块管理数据查询客户端11上数据查询传输资源,根据消息处理子模块的命令对数据查询传输资源进行申请、打开和释放,完成数据查询结果的接收,数据查询客户端11使用与数据查询网关9相同的数据查询传输资源协议。第五通信模块完成数据查询客户端11内部用户模块12与数据查询模块13之间,以及数据查询客户端11外部与数据查询服务器10、数据查询网关9之间的通信。如图11所示,本发明将数据查询分为数据查询空闲、数据查询建立、数据查询数据传输和数据查询释放四个状态。数据查询状态在数据查询客户端11、数据查询服务器10和数据查询网关9的数据查询任务中进行管理。数据查询空闲状态下,本发明所有处于空闲状态的数据查询任务均可为数据查询请求建立数据查询业务。当接收到用户的数据查询请求时,本发明选择一个空闲数据查询任务来管理数据查询建立,数据查询进入数据查询建立状态。在数据查询建立状态下,数据查询客户端11、数据查询服务器10和数据查询网关9间利用消息交互开始建立数据查询。如果数据查询建立成功,数据查询进入数据查询传输状态。在数据查询传输状态下,数据查询获得了数据查询结果传输所需的所有资源,开始将数据查询结果发送到用户。同时,用户可根据数据查询结果数据的反馈,通过发送新的数据查询请求,调整原数据查询的参数条件,获取更准确的监测信息。当数据查询结果传输结束,或用户终止数据查询时,或者如果在数据查询建立状态中数据查询建立失败,数据查询进入数据查询释放状态。在数据查询释放状态下,本发明释放数据查询任务占据的资源,释放成功后数据查询返回数据查询空闲状态。如图12所示,本数据查询方法包括下列顺序的步骤:
(I)上电初始化,用户注册,数据查询客户端11接收并处理用户输入的数据查询请求命令,向数据查询服务器10发送数据查询请求消息,数据查询服务器10将数据查询请求消息发送到数据查询网关9,数据查询网关9接收并处理数据查询请求消息,向无线传感器子网2或数据库发送数据查询请求;
(2)无线传感器子网2或数据库接收数据查询请求并处理,向数据查询网关9返回数据查询成功响应,数据查询网关9将数据查询成功响应转发到数据查询服务器10,并向无线传感器子网2或数据库发送数据查询结果发送消息;
(3)数据查询服务器10接收并处理数据查询成功响应,将数据查询成功响应转发到数据查询客户端11,数据查询客户端11接收并处理数据查询成功响应,向用户发送数据查询接收命令,通知用户进行数据接收。以下结合图12对本发明作进一步的说明。数据查询请求命令包含采用类SQL语言进行描述的数据查询条件和数据查询终端用户信息。数据查询请求用于修改已有数据查询任务时,数据查询请求命令还包括数据查询任务号,用于本发明系统搜索已有数据查询任务,并区别新建数据查询请求命令。数据查询客户端11根据数据查询请求命令内容创建数据查询任务,并申请数据查询传输资源。在获取数据查询传输资源后,数据查询客户端11向数据查询服务器10发送数据查询请求消息,并将数据查询任务变为建立状态。发送的数据查询请求消息是对数据查询请求命令的封装,除数据查询请求命令中的内容外,还包括数据查询客户端11以及数据查询传输资源等信息。在返回数据查询建立临时响应之前,数据查询服务器10根据数据查询请求消息中数据查询终端用户信息和及数据查询请求,对用户消息权限进行有效性判断。如查询有效,则创建数据查询任务。然后根据数据查询请求条件,从注册数据查询网关9中查找返回数据查询结果的数据查询网关9,申请数据查询网关9的数据查询传输资源。参与数据查询结果传输的数据查询网关9可能有多个,需对每个数据查询网关9申请数据查询传输资源。最后,数据查询服务器10为数据查询请求生成数据查询任务号,并将数据查询任务变为建立状态。数据查询建立临时响应包含生成数据查询任务号以及申请的数据查询网关9的数据查询传输资源等信息。数据查询客户端11接收到数据查询准备接收响应后,存储数据查询任务号,根据其中的数据查询网关9查询传输资源信息和自身数据查询传输资源,打开数据查询传输资源通道,建立从数据查询网关9到数据查询客户端11的数据传输链路。数据查询服务器10申请数据查询网关9的数据查询传输资源成功后,将数据查询任务变为建立状态,数据查询服务器10将数据查询请求消息发送到数据查询网关9。数据查询请求消息除包括数据查询客户端11发送的消息内容外,还包括数据查询网关9的数据查询传输资源信息。数据查询网关9处理数据查询请求消息时,根据数据查询请求消息内容,建立数据查询任务,存储数据查询客户端11的数据查询传输资源信息,并根据数据查询服务器10申请的传输资源信息,申请数据查询传输资源。然后根据数据查询请求类SQL条件,对数据查询请求的进行分解:判断数据查询是否包含历史数据查询,如果是,则向数据库发送包含相应SQL语句的数据查询请求命令;进一步,分析数据查询请求所需实时数据,找出返回数据查询结果的无线传感器子网2,并判断基本数据是否满足数据查询请求,如果无法满足,则向相应的汇聚节点I发送包含针对无线传感器网络3SQL语句的数据查询请求命令。最后,将数据查询任务变为建立状态。若数据库处理数据查询网关9的数据查询请求命令,则根据数据查询请求的SQL条件从数据库获取查询结果。若汇聚节点I处理数据查询网关9的数据查询请求命令,则对数据查询请求的类SQL条件进行解析,得到返回数据查询结果的相关节点,并对这些节点发送数据采集命令。汇聚节点I向采集节点6发送采集命令的方法可以采用无线传感器网络3常用的路由算法来完成,如定向扩散或分簇路由算法等。数据查询网关9接收数据查询消息成功最终响应,将数据查询任务变为传输状态。然后,根据数据查询客户端11传输资源信息打开数据查询传输资源通道,建立到数据查询客户端11的数据传输链路,数据查询网关9向无线传感器子网2或数据库发送数据查询结果发送消息。数据库或汇聚节点I接收到数据查询网关9的数据查询结果发送消息,开始向数据查询网关9发送数据查询结果。数据查询服务器10接收到数据查询消息成功响应后,将数据查询任务状态变为传输状态,以保持数据查询任务状态同步。数据查询客户端11接收到数据查询消息成功响应后,将数据查询任务状态变为传输状态,并将接收到的数据查询结果转发到终端设备,供数据查询终端用户处理。数据查询客户端11发送的数据查询接收命令包含数据查询任务号,用于数据查询终端用户在数据查询传输状态修改已建立的数据查询。如图13所示,当数据查询结果传输结束或用户主动终止数据查询时,在数据查询传输状态的数据查询进入正常释放流程,数据查询正常释放分为数据查询终端用户释放和数据查询网关9释放。数据查询终端用户释放是指用户主动终止数据查询,具体包括如下步骤:用户向数据查询客户端11发送数据查询释放命令,数据查询释放命令包括即将释放的数据查询任务号;数据查询客户端11接收并处理数据查询释放命令,向数据查询服务器10发送数据查询释放消息;数据查询服务器10接收并处理数据查询释放消息,向返回数据查询结果的数据查询网关9发送数据查询释放消息;数据查询网关9接收并处理数据查询释放消息,向无线传感器子网2或数据库发送数据查询释放命令;无线传感器子网2接收并处理数据查询释放命令,则将与数据查询任务相关数据采集取消,向数据查询网关9返回数据查询释放成功响应;数据查询网关9向数据查询服务器10发送数据查询释放成功响应;数据查询服务器10接收并处理数据查询释放成功响应,向数据查询客户端11发送数据查询释放成功响应;数据查询客户端11接收并处理数据查询释放成功响应,向用户发送数据查询释放成功命令;
数据查询网关9释放在数据查询结果传输结束时触发,具体包括如下步骤,数据查询网关9向无线传感器子网2或数据库发送数据查询释放命令,数据查询网关9向数据查询服务器10发送数据查询释放消息,数据查询服务器10接收并处理数据查询释放消息,向数据查询客户端11发送数据查询释放消息,数据查询客户端11接收并处理数据查询释放消息,向用户发送数据查询释放命令 如图14所示,数据查询服务器10接收或检测到数据查询异常错误,向数据查询客户端11发送数据查询释放消息,数据查询客户端11接收并处理数据查询释放消息,向用户发送数据查询释放命令;数据查询客户端11向数据查询服务器10发送数据查询释放成功响应,数据查询服务器10向数据查询网关9发送数据查询释放消息,数据查询网关9向无线传感器子网2或数据库发送数据查询释放命令,无线传感器子网2或数据库接收数据查询释放命令,向数据查询网关9返回数据查询释放成功响应,数据查询网关9接收数据查询释放成功响应,向数据查询服务器10发送数据查询释放成功响应。综上所述,本发明通过数据查询服务器10管理数据查询网关9和用户的注册鉴权,并控制数据查询任务的建立和释放,提高了基于无线传感器网络3的数据查询系统的扩展性和安全性。采用查询消息流和查询数据流相分离的方法,通过数据查询客户端11、数据查询服务器10和数据查询网关9之间数据查询消息的交互,在数据查询服务器10查询控制下,建立数据查询客户端11与数据查询网关9之间传输数据查询结果的链路,提高了数据查询业务的可靠性和服务质量,实现了大规模无线传感器网络3中多用户数据查询业务。
权利要求
1.一种基于无线传感器网络的数据查询系统,其特征在于:包括数据查询客户端,其输入输出端一方面通过消息链路与数据查询服务器的输入输出端通信,另一方面通过数据链路与数据查询网关的输入输出端通信,数据查询网关的输入输出端通过数据链路分别与数据库、组成无线传感器网络的多个无线传感器子网的汇聚节点通信。
2.根据权利要求1所述的基于无线传感器网络的数据查询系统,其特征在于:所述的无线传感器子网由一个汇聚节点和由至少两个采集节点组成的各个簇团组成,簇团中的一个采集节点作为簇头与汇聚节点通信,所述的采集节点由采集模块、第一处理模块和第一通信模块组成,采集模块的输入输出端与第一处理模块的输入输出端相连,第一处理模块的输入输出端与第一通信模块的输入输出端相连;所述的汇聚节点由子网管理模块、第二处理模块和第二通信模块组成,子网管理模块的输入输出端与第二处理模块的输入输出端相连,第二处理模块的输入输出端与第二通信模块的输入输出端相连。
3.根据权利要求1所述的基于无线传感器网络的数据查询系统,其特征在于:所述的数据查询网关由第一信息管理模块、第一消息处理模块和第三通信模块组成,第一信息管理模块的输入输出端与第一消息处理模块的输入输出端相连,第一消息处理模块由数据采集子网消息处理子模块、数据查询消息处理子模块和数据库消息处理子模块组成,数据采集子网消息处理子模块与第三通信模块中的无线传感器网络通信单元相连,数据查询消息处理子模块通过数据查询资源管理模块与第三通信模块中的IP通信单元相连,或直接与第三通信模块中的IP通信单元相连,数据库消息处理子模块与第三通信模块中的IP通信单元相连。
4.根据权利要求1所述的基于无线传感器网络的数据查询系统,其特征在于:所述的数据查询服务器由第二信息管理模块、资源管理模块、第二消息处理模块和第四通信模块组成,第二信息管理模块、资源管理模块的输入输出端均与第二消息处理模块的输入输出端相连,第二消息处理模块的输入输出端与第四通信模块的输入输出端相连。
5.根据权利要求1所述的基于无线传感器网络的数据查询系统,其特征在于:所述的数据查询客户端由用户模块、数据查询模块和第五通信模块组成,用户模块由用户操作显示子模块和用户处理子模块 组成,数据查询模块由信息管理子模块、消息处理子模块和资源管理子模块组成,用户操作显示子模块的输入输出端与用户处理子模块的输入输出端相连,用户处理子模块的输入输出端与第五通信模块的输入输出端相连;信息管理子模块的输入输出端与消息处理子模块的输入输出端相连,消息处理子模块的输入输出端分别与第五通信模块、资源管理子模块的输入输出端相连,资源管理子模块的输入输出端与第五通信模块的输入输出端相连。
6.根据权利要求1所述的基于无线传感器网络的数据查询系统的查询方法,该方法包括下列顺序的步骤: (1)上电初始化,用户注册,数据查询客户端接收并处理用户输入的数据查询请求命令,向数据查询服务器发送数据查询请求消息,数据查询服务器将数据查询请求消息发送到数据查询网关,数据查询网关接收并处理数据查询请求消息,向无线传感器子网或数据库发送数据查询请求; (2)无线传感器子网或数据库接收数据查询请求并处理,向数据查询网关返回数据查询成功响应,数据查询网关将数据查询成功响应转发到数据查询服务器,并向无线传感器子网或数据库发送数据查询结果发送消息; (3)数据查询服务器接收并处理数据查询成功响应,将数据查询成功响应转发到数据查询客户端,数据查询客户端接收并处理数据查询成功响应,向用户发送数据查询接收命令,通知用户进行数据接收。
7.根据权利要求6所述的基于无线传感器网络的数据查询系统的查询方法,其特征在于:当数据查询结果传输结束或用户主动终止数据查询时,在数据查询传输状态的数据查询进入正常释放流程,数据查询正常释放分为数据查询终端用户释放和数据查询网关释放。
8.根据权利要求6所述的基于无线传感器网络的数据查询系统的查询方法,其特征在于:数据查询服务器接收或检测到数据查询异常错误,向数据查询客户端发送数据查询释放消息,数据查询客户端接收并处理数据查询释放消息,向用户发送数据查询释放命令;数据查询客户端向数据查询服务器发送数据查询释放成功响应,数据查询服务器向数据查询网关发送数据查询释放消息,数据查询网关向无线传感器子网或数据库发送数据查询释放命令,无线传感器子网或数据库接收数据查询释放命令,向数据查询网关返回数据查询释放成功响应,数据查询网关接收数据查询释放成功响应,向数据查询服务器发送数据查询释放成功响应。
9.根据权利要求7所述的基于无线传感器网络的数据查询系统的查询方法,其特征在于:所述的数据查询终端用户释放是指用户主动终止数据查询,具体包括如下步骤:用户向数据查询客户端发送数据查询释放命令,数据查询释放命令包括即将释放的数据查询任务号;数据查询客户端接收并处理数据查询释放命令,向数据查询服务器发送数据查询释放消息;数据查询服务器接收并处理数据查询释放消息,向返回数据查询结果的数据查询网关发送数据查询释放消息;数据查询网关接收并处理数据查询释放消息,向无线传感器子网或数据库发送数据查询释放命令;无线传感器子网接收并处理数据查询释放命令,则将与数据查询任务相关数据采集取消,向数据查询网关返回数据查询释放成功响应;数据查询网关向数据查询服务器发送数据查询释放成功响应;数据查询服务器接收并处理数据查询释放成功响应,向数据查询客户端发送数据查询释放成功响应;数据查询客户端接收并处理数据查询释放成功响 应,向用户发送数据查询释放成功命令。
10.根据权利要求7所述的基于无线传感器网络的数据查询系统的查询方法,其特征在于:所述的数据查询网关释放在数据查询结果传输结束时触发,具体包括如下步骤,数据查询网关向无线传感器子网或数据库发送数据查询释放命令,数据查询网关向数据查询服务器发送数据查询释放消息,数据查询服务器接收并处理数据查询释放消息,向数据查询客户端发送数据查询释放消息,数据查询客户端接收并处理数据查询释放消息,向用户发送数据查询释放命令。
全文摘要
本发明涉及一种基于无线传感器网络的数据查询系统及其查询方法,该系统包括数据查询客户端,其输入输出端一方面通过消息链路与数据查询服务器的输入输出端通信,另一方面通过数据链路与数据查询网关的输入输出端通信,数据查询网关的输入输出端通过数据链路分别与数据库、组成无线传感器网络的多个无线传感器子网的汇聚节点通信。本发明还公开了基于无线传感器网络的数据查询系统的查询方法。本发明通过数据查询服务器管理数据查询网关和用户的注册鉴权,并控制数据查询任务的建立和释放,提高了基于无线传感器网络的数据查询系统的扩展性和安全性。
文档编号H04L29/08GK103118105SQ20131003353
公开日2013年5月22日 申请日期2013年1月29日 优先权日2013年1月29日
发明者赵博, 胡艳军, 许耀华 申请人:安徽大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1