嵌入式移动数据库中的移动Agent问题探讨
1 引言
随着移动通信技术的迅速发展以及移动计算终端的大量普及,使得人们随时随地访问任何所需信息成为可能。对于传统的分布式计算以及分布式数据库的研究都是基于有线网络和固定主机的,采用了一些如固定网络连接、对等通信代价、主机结点固定不变等默认的隐含假设。若计算结点在自由移动的过程中与网络建立连接,则上述这些假设条件不再成立,由此需要一种更加复杂、灵活的分布式计算环境,因此研究移动计算以及移动数据库成为一个新兴的热点领域。
移动Agent作为一种前沿技术,也是计算机领域的一个研究热点。近年来国内外对移动Agent技术研究的投入都非常大,并且在移动Agent的并行计算、移动Agent系统安全、多Agent建模等方面都有突出成果。移动Agent作为一种可携带执行代码和数据的迁移对象,带有一定的智能性,能够自主结合客户机和服务器的知识,并在服务器上进行推理以确定自己的下一步工作。其次移动Agent对于用户没有实时网络连接的要求,仅仅是在发送请求和接受结果时需要网络连接,可以大幅减少无线通信网络上的通信流量,基于移动Agent具有的这些优势,在嵌入式移动数据库中引入移动Agent技术并进行研究探讨,具有一定的价值。
2 移动Agent技术
移动Agent是一个代替人或其它程序执行某种任务的程序,它在复杂的网络系统中能自主地从一台主机移动到另一台主机[1],该程序能够选择何时、何地移动,在移动时该程序可以根据要求挂起其运行,然后转移到网络的其它地方重新开始或继续执行,最后返回结果和消息。移动Agent具有自治性、移动性、智能性、异步计算性等特性。
从实现技术的角度看,移动Agent系统主要由移动Agent平台(MAE)和移动Agent(MA) 组成。移动Agent平台是一个虚拟机,通常被称为移动Agent服务器,为移动Agent的移动和执行提供执行环境,为移动Agent的发射、接收、恢复、安全管理和服务调用等提供基础设备设施。移动Agent携带完成计算任务所需的代码和数据以及Agent的运行状态,在网络上不同主机之间迁移并完成相应的动作,移动Agent迁移示意图如图1。
将移动Agent技术应用于嵌入式移动数据库主要具有如下一些优势:
1)移动Agent可以减少通信网上的流量。将任务请求通过Agent移动到服务器端执行,使得Agent不经过网络传输这个中间环节而直接访问服务器资源,任务在远地执行完后直接返回结果,从而降低系统对网络带宽的依赖,这恰好适合移动计算环境所具有的断接性的特点;2)移动Agent可以异步计算。移动Agent不需要统一的调度,由用户创建的移动Agent可以异步的在不同网络节点上运行,对于相对复杂的任务,用户还可以创建多个Agent,同时在相同或不同的节点上运行,不需要客户端与主机永久连接。也恰好适合移动计算环境所具有的低带宽和弱可靠性的特点;3)移动Agent可以方便的访问异构数据库。在数据库系统中存在一些异构的环境,此时如果采用传统的数据库访问方式,往往需要客户端预先安装多种类型的数据库连接驱动程序,并在访问时执行这些连接驱动程序,这会大大增加移动终端的负载[2],因此,传统的数据库访问方式很难适用于移动计算环境中移动数据库的访问,但由于移动Agent本身的特性却使得访问异构数据库较其他方式更加方便;4)移动Agent可以方便的实现负载平衡。移动Agent能携带自身的代码从一个平台移动到另一个平台,在目的主机上也无需预先安装就能运行,因此移动Agent可以方便的实现负载平衡。
3、 基于移动Agent的移动数据库的体系结构
传统的基于Agent的移动数据库的体系结构一般采用如图2所示的客户层、客户Agent层、服务器Agent层、服务器层的体系结构,该结构能对移动数据库的数据复制与缓存、断接期间的管理、减少客户与服务器之间的通信量等方面都能提供有效的支持。但该体系结构对于服务器之间的协同工作、客户端在网络中的自由移动等方面不能提供理想的支持,对此,本文采用一种更加灵活的体系结构。该体系结构对传统的基于Agent的移动数据库的体系结构模型进行扩充,在客户机和服务器之间加入一个新的层次移动Agent层。如图3所示。
其中客户Agent层主要负责本地缓存以及本地事物的管理;移动Agent层根据客户Agent提出的任务请求完成相应的功能并返回结果;服务器Agent主要负责提供数据访问接口。基于移动Agent的移动数据库的体系结构可设计成如图4所示。
注: MSS: Mobile Support Station(具有无线通信接口的支持移动计算机的固定节点)
SVR: Server(固定主机) LDB: Local Database(本地数据库)
MA: Mobile Agent (移动代理)
- 嵌入式移动数据库系统中的数据查询(02-21)
- 基于DSP的自动避障小车(04-05)
- 嵌入式移动数据库与Agent技术(03-01)
- 基于PDA的RFID手持机开发研究(08-19)
- 基于Android平台的即时通信系统客户端设计(09-24)
- 嵌入式移动数据库与Agent技术原理设计(01-06)