基于移动Agent的无线传感器网络数据管理框架
扫描二维码
随时随地手机看文章
0 引言
低功耗无线电通信技术、嵌入式计算技术、卫星传感器技术及集成电路技术的飞速发展和日益成熟,使得大量低成本的卫星传感器通过无线链路自组织成无线传感器网络成为现实。无线传感器网络具有自组织性、自适应性与容错性高等特点,在军事、工农业、生物医疗、环境监测等许多重要领域具有十分广泛的应用前景[1]。
无线传感器网络大量传感器节点(sensor node)和少数汇聚节点(sink node)组成。位于监测区域的传感器节点负责采集相关数据信息,最终将数据传送至汇聚节点,无线传感器网络是以数据为中心的,其目标是采集具有某种特征属性的数据,而不关心数据具体来源于哪个传感器节点。基于上述思想,数据库研究者把无线传感器网络抽象为数据系统,使无线传感器网络的物理实现与应用相分离[2]。由于无线传感器网络数据特点是数据量大、时效性强、网络节点在能量、计算、存储及通信能力方面存在局限性[3],所以良好的数据管理技术能够提高传感器节点协作感知、采集、处理、发布数据信息的效率,进而更好地确定无线传感器网络的可用性和有效性。
移动agent是一种分布式计算技术,具有很多优点。本文提出个一种基于移动agent技术改进现有的无线传感器网络数据管理模式的框架,利用移动agent不仅收集数据而且能够处理数据的特点,减轻数据管理中心负载,克服了当前数据管理方案的局限性。
1 移动agent机制[4]
移动agent是分布式计算技术和人工智能技术相结合的产物,本质上是一个程序实体,拥有一定的智能和判断能力,它可以自己的控制下,按照一定的规程在网络节点间迁移,寻找并处理合适的资源,代表用户完成特定的任务。agent在一个执行环境中被创建后,能够携带自身状态和代码在网络中迁移到另一个环境中恢复执行。
移动agent的特性主要体现以下几个方面:
a)自主性:agent一旦被初始化便可独立执行,无需后来的直接干预,agent控制自身的内部状态和外部行为,也可以被授权做出某种决定,完成相关的任务。
b)反应性:agent能感知和作用于其所处的环境,对环境的变化能做出及时的响应,这些环境可以是物理的世界、使用图形接口的用户、其他agent集合或所有这些的组合。
c)能动性:agent不仅能对所处环境做出响应,还能主动展现面向目标的行为。
d)通信性:agent之间的交互随任务驱动的变化而进行调整,彼此协作完成复杂的任务。
e)移动性:agent可在一个网络上随时、自主地实现节点间迁移,正在运行中的agent状态可以被存储且传送到目标节点,且中止agent程序可以被恢复执行。
2 数据管理体系结构
目前,无线传感器网络数据管理大多采用近似客户/服务器的数据处理模式[5],可分为集中式数据管理结构和分布式数据管理结构两种。
集中式数据管理结构的特点是感知数据的处理和无线传感器网络的访问是相对独立的,各传感器节点感知的数据经多跳后路由至汇聚中心或服务器处理,网络的数据管理决策由处理中心负责,这种方法很简单,但是由于所有传感器的数据都要求传送到中心处理节点,通信开销很大,使用范围较小。
分布式数据管理结构又称网内处理结构。考虑到无线传感器网络节点的大规模分布,大量冗余信息传输可能造成的能耗损失及较大的通信开销,因此分布式数据关系结构特点是网络中部分传感器节点除负担数据转发任务外,还负责部分的数据管理任务,如执行聚集操作等。
3 基于移动agent的数据管理框架
在支撑传感器网络实际数据服务环境中,上述体系结构在占用网络带宽、负载平衡以及因节点失效而动态调整数据处理策略等方面尚存在不足[6]。
基于移动agent的数据管理思想是利用agent将网内数据驻留在获取它的节点上,通过agent或计算引擎将特定信息需求的代码及状态在网络中传播与处理,并将最终的信息返回给数据管理中心(汇聚节点或中心服务器)。
基于移动agent的无线传感器网络如图1所示。
结合无线传感器网络数据的分布式特点以及数据管理任务的分派方式,基于移动agent的网络数据管理框架主要包括移动agent实体与移动agent服务环境两部分。如图2所示。
移动agent服务环境是系统的核心部分,提供一个位置透明、便于控制、安全可靠的数据管理执行环境,主要负责移动agent的创建、运行、挂起、终止、传送和接收等工作。该服务环境依据预置的初始任务执行方案,确定agent的迁移与协作的策略以及传输通信机制。
移动agent实体包括服务agent和信使agent两类,是网络数据管理任务的分派与执行者。服务agent驻留于移动agent服务环境,为信使agent提供资源和基础环境的访问支持与任务决策。服务agent按照macp(移动代理控制协议),发送移动agent程序,并根据网络数据状态信息控制其行为。信使agent在网络数据源之间移动,利用对资源的控制来满足远程数据源访问的目的。
与目前网内处理的数据管理体系结构相比较,基于移动agent的数据管理框架是通过移动代理技术,将代理支撑环境驻留在节点设备上,基于移动agent服务环境的数据管理中心,根据实际网络状态选择适当功能的agent程序发送到目标节点,在agent运行环境中生成程序实例(instance),完成预期功能。该管理框架本质上是利用agent灵活的数据收集与计算能力,将处理功能移向数据源本地,使得数据管理所需的计算最大限度地分布于整个网络,各传感节点的感知数据通过agent自主管理,并能及时获得性能态势,另外,agent之间的协商与知识学习机制,利用动态实现数据处理任务的决策,满足传感器网络性能优化。
4 移动agent的内部结构
用于网络数据管理的移动agent是指根据数据管理需求动态发布到数据源节点,并在目标节点执行的一段程序,目的是优化管理,agent的行为(启动、挂起、终止、删除)完全受控于发送它的进程,如图3所示,移动agent的结构包括通信层、推理机、管理层和agent知识库4部分,一个移动agent的内部行为表现为通信层接收外部环境的信息(来自其他agent的消息与请求),由推理机(包含数据处理相关的先验规则集)根据这些消息、请求以及agent的状态,与知识库交互学习。
服务agent的关系任务决策层根据推理机得出的结果做出合理的任务判决,通过通信层将任务分派给信使agent,信使agent获得分派任务后,执行迁移动作,到达目标节点后,信使agent对获知的传感器节点数据进行分析、推理后,执行相关的动作(采集、融合、查询等),同时更新agent状态信息,并确定需完成的下一个管理任务集。信使agent完成任务后,将结果传送给服务agent。
5 移动agent之间的通信机制
移动agent通信层支持分布式决策中的协商过程,接收来自其他agent的执行请求、通知或结果信息。协商过程要求能及时了解传感器所完成的数据处理能力,移动agent之间的通信消息来自agent内部的决策过程,包含数据管理相关的标识、类型、内容及发送和接收者。系统数据管理决策任务优先级由服务agent确定,执行任务的优先级则由信使agent确定。管理任务的性能指标经移动agent间的协商确定。
6 结束语
目前,无线传感器网络存在感知数据量大、无线通信带宽低、每个网络节点分配到的能量有限、所在环境不可靠等问题。移动agent应用于无线传感器网络数据管理将有助于在带宽、能量受限的不稳定动态环境中处理大量数据,减少开发和应用成本,在一定程度上降低无线传感器网络数据管理的复杂性,在以后的研究中,将在数据管理体系结构的形式化表示技术以及能耗分析上做进一步深入的研究。