1、嵌入式移动数据库中的移动 Agent 问题探讨 Research of Mobile Agent Used In Embedded Mobile Database (桂林工学院电子与计算机系) 邹明亮 程小辉 刘亚荣 Zou,Mingliang Cheng,Xiaohui Liu,Yarong 摘要: 随着互联网络技术和无线通信技术的发展,嵌入式移动数据库技术已成为目前数据库领域的一个新的研究分支,文中对移动 Agent 技术进行了概要说明,在此基础上讨论了将移动 Agent 技术应用于嵌入式移动数据库中的优势,探讨了基于移动 Agent 的嵌入式移动数据库的体系结构以及将移动 Agent 引
2、入后它的研究侧重点。 关键词:移动 Agent;体系结构;移动数据库 中图分类号: TP311.13 文献标识码: A Abstract: With the development of network and wireless communication technologies, embedded mobile database has become a new research branch in database field. This article studies something about mobile agent, on this base discusses some a
3、dvantages of the mobile agent used in the embedded mobile database. They are also discussed that the architecture of embedded mobile database and its research focus after mobile agent is used. Key words: mobile agent; architecture; mobile database 1 引言 随着移动通信技术的迅速发展以及移动计算终端的大量普及,使得人们随时随地访问任何所需信息成为可能
4、。对于传统的分布式计算以及分布式数据库的研究都是基于有线网络和固定主机的,采用了一些如固定网络连接、对等通信代价、主机结点固定不变等默认的隐含假设。若计算结点在自由移动的过程中与网络建立连接,则上述这些假设条件不再成立,由此需要一种更加复杂、灵活的分布式计算环境,因此研究移动计算以及移动数据库成为一个新兴的热点领域。 移动 Agent 作为一种前沿技术,也是 计算机领域的一个研究热点 。 近年来国内外对移动Agent 技术研究的投入都非常大,并且在移动 Agent 的并行计算、移动 Agent 系统安全、多Agent 建模等方面都有突出成果。移动 Agent 作为一种可携带执行代码和数据的迁移
5、对象,带有一定的智能性,能够自主结合客户机和服务器的知识,并在服务器上进行推理以确定自己的下一步工作。其次移动 Agent 对于用户没有实时网络连接的要求,仅仅是在发送请求和接受结果时需要网络连接,可以大幅减少无线通信网络上的通信流量,基于移动 Agent 具有的这些优势,在 嵌入式 移动数据库中引入移动 Agent 技术并进行研究探讨,具有一定的价值。 2 移动 Agent 技术 移动 Agent 是一个代替人或其它程序执行某种任务的程序 ,它在复杂的网络系统中能自主地从一台主机移动到另一台主机 1,该程序能够选择何时、何地移动,在移动时该程序可以根据要求挂起其运行 ,然后转移到网络的其它地
6、方重新开始或继续执行 ,最后返回结果和消息。移动 Agent 具有自治性、移动性、智能性、异步计算性等特性。 从实现技术的角度看 ,移动 Agent 系统主要由移动 Agent 平台 (MAE)和移动 Agent(MA) 组成。移动 Agent 平台是一个虚拟机 ,通常被称为移动 Agent 服务器 ,为移动 Agent 的移动和执行提供执行环境,为移动 Agent 的发射、接收、恢复、安全管理和服务调用等提供基础设备设施。移动 Agent 携带完成计算任务所需的代码和数据以及 Agent 的运行状态,在网络上不同主机之间迁移并完成相应的动作,移动 Agent 迁移示意图如图 1。 将移动 A
7、gent 技术应用于嵌入式移动数据库主要具有如下一些优势: 1)移动 Agent 可以减少通信网上的流量。将任务请求通过 Agent 移动到服务器端执行,使得 Agent 不经过网络传输这个中间环节而直接访问服务器资源,任务在远地执行完后直接返回结 果,从而降低系统对网络带宽的依赖,这恰好适合移动计算环境所具有的断接性的特点; 2)移动 Agent 可以异步计算。移动 Agent 不需要统一的调度,由用户创建的移动 Agent可以异步的在不同网络节点上运行,对于相对复杂的任务,用户还可以创建多个 Agent,同时在相同或不同的节点上运行,不需要客户端与主机永久连接。也恰好适合移动计算环境所具有
8、的低带宽和弱可靠性的特点; 3)移动 Agent 可以方便的访问异构数据库。在数据库系统中存在一些异构的环境,此时如果采用传统的数据库访问方式,往往需要客户端预先安装多种类型的数据库 连接驱动程序,并在访问时执行这些连接驱动程序,这会大大增加移动终端的负载 2,因此,传统的数据库访问方式很难适用于移动计算环境中移动数据库的访问,但由于移动 Agent 本身的特性却使得访问异构数据库较其他方式更加方便; 4) 移动 Agent可以方便的实现 负载平衡。 移动 Agent 能携带自身的代码从一个平台移动到另一个平台,在目的主机上也无需预先安装就能运行,因此移动 Agent 可以方便的实现负载平衡。
9、 3、 基于移动 Agent 的移动数据库的体系结构 传统的基于 Agent 的移动数据库的体系结构一般采用如图 2 所示的客户 层、客户 Agent层、服务器 Agent 层、服务器层的体系结构,该结构能对移动数据库的数据复制与缓存、断接期间的管理、减少客户与服务器之间的通信量等方面都能提供有效的支持。但该体系结构对于服务器之间的协同工作、客户端在网络中的自由移动等方面不能提供理想的支持,对此,本文采用一种更加灵活的体系结构。该体系结构对传统的基于 Agent 的移动数据库的体系结构模型进行扩充,在客户机和服务器之间加入一个新的层次移动 Agent 层。如图 3 所示。 其中客户 Agent
10、层主要负责本地缓存以及本地事物的管理; 移动 Agent层根据客户 Agent提出的任务请求完成相应的功能并返回结果;服务器 Agent 主要负责提供数据访问接口。基于移动 Agent 的移动数据库的体系结构可设计成如图 4 所示。 服务器 服务器 Agent 客户 Agent 客户 图 2 服务器 服务器 Agent 客户 Agent 客户 移动 Agent 图 3 NETWORK MA MAE Host MA MAE Host MA MAE Host MA MAE Host 图 1 注 : MSS: Mobile Support Station(具有无线通信接口的 支持移动计算机的固定节
11、点 ) SVR: Server(固定主机 ) LDB: Local Database(本地数据库 ) MA: Mobile Agent (移动代理 ) MC: Mobile Client(移动客户 ) 4 基于移动 Agent 的嵌入式移动数据库的研究侧重点 1) 移动 Agent 的协同。移动 Agent 具有自主性,同时也具有协作性,能够相互合作,从而高效透明的使用网络上的资源 3。通常各种数据资源存储在各个不同的网络节点上,随着数据库技术的发展,很多应用都涉及到访问不同位置的数据库,对此,用户可以创建多个Agent,让其分散到网络的多个节点上去执行,当多个移动 Agent 共同完成一个任
12、务时, Agent之间需要进行通信,移动 Agent 系统可 采用的通信方式有很多,比如 RPC, RMI 等,在具体的代理系统中,通信的实现方式则有很大的差别。如: Cornell 大学的 Tocama 通过一个携带数据的 briefcase 来交换数据; General Magic 公司的 Telescript 中 Agent 只能在会话点中用本地方法调用的方式相互通信; Dartmouth 学院的 DAgent 既支持底层的基于字节流的消息传递方式,也支持基于 Agent 层次的高层通信方式。 2) 移动 Agent 的重定位。移动 Agent 在完成客户 Agent 所提出的任务时,由
13、于所需的资源可能分布在网络不同 的节点上, Agent 需要在网络中移动。在移动数据库系统中,移动客户端的位置通常不断发生变化,这时, Agent 也需要根据移动客户端的位置重新在网络中进行定位,从而缩短与移动客户端的距离,达到减少通信时间以及网络通信开销的目的。对于移动 Agent 的重定位方法可以采取如下方式:( 1)通过使用位置服务器。当移动 Agent创建时,在相应的位置服务器中注册当前位置,当移动 Agent 发生位置变化时,要在位置服务器中更新自己的位置信息,要定位所需的移动 Agent 通过向位置服务器查询即可。( 2)通过跟踪移动 Agent 的移动 路径。移动 Agent 迁
14、移时,记录下移动 Agent 的迁移路径,从而可以根据路径来定位所需的移动 Agent。( 3)通过发送广播消息,采取与局域网中 ARP 协议类似的方法,向系统内所有节点发送广播消息,由符合的条件的移动 Agent 发回响应消息。 3) 并发操作的控制。嵌入式移动数据库在实际应用中必须解决好数据的一致性 4,在移动数据库系统中,有时存在多个 Agent 并发访问共享信息的情况,为了保证数据的一致性,需要对并发操作进行正确的控制,目的是为了避免出现使数据处于不一致状态的并发事物调度。在基于移动 Agent 的系统中 ,既要维护本地数据库系统的一致性,也要维护网络节点上数据库系统的一致性。并发控制
15、可以借助 DBMS 本身的功能来完成,因为目前一般的数据库管理系统都有较好的并发控制功能,同时也可借助一些开发工具来实现并发控制。相对于固定网络 SVR SVR SVR MSS MSS MSS LDB LDB LDB MC MC 无线 LAN MA 图 4 MA 传统的数据库系统, Agent 并发控制相对较复杂,可能存在网络节点上的数据库不完全接受Agent 的控制、本地数据库与网络节点上的数据库之间存在相互约束关系等一些影响因素。 4)故障的恢复。在基于移动 Agent 的移动数据库系统中,故障恢复较传统的数据库系统也相对复杂一些,需要恢复网络节点上的各个数据库中 的数据、恢复每个 Age
16、nt 的本地数据以及运行时的环境。对于网络节点上的各个数据库以及每个 Agent 的本地数据的故障恢复可以借助 DBMS 本身的功能来完成。对于 Agent 运行时的环境的恢复可以通过专门为对应的 Agent 新建一个数据库来维护运行时的环境,当 Agent 需要对数据进行更新操作时,先更新在为其新建的那个数据库中,当整个事物完成时再提交数据给本地数据库。 5 结束语 针对移动数据库具有的移动性、断接性、网络条件多样性、网络通信的非对称性、移动计算机的弱电源能力等特性, 将移动 Agent 技术引入 到 移动数据库中 , 移动 Agent 计算模式能有效的减少网络通信流量、减少访问服务器的延迟
17、、支持断接操作、支持异步计算等,使得移动 Agent 的优点得到了很大的发挥, 有助于实现移动数据库 的各种操作 。 由于移动 Agent技术本身还处于发展过程中,应用移动 Agent 来完善移动数据库技术还有待于更加深入的研究和探索。 本文作者创新点: 鉴于在分布式数据库中使用的多层架构技术在访问量大的情况下能较好的适应数据库的各种操作,笔者在移动数据库中借鉴其相关技术同时利用了移动 Agent 的特点,并对由此产生的部分问题探讨了其初步的解决方式。 参考文 献: 1 朱淼良,邱瑜 .移动代理系统综述 J,计算机研究与发展, 2001, 38( 1): 16-25. 2王彤,王良 . 移动计
18、算中基于 Mobile Agent 的数据库访问技术,小型微型计算机系统,2002, 23( 10): 1165-1168. 3 刘振鹏等 .基于协同式移动 Agent 分布式数据库系统研究 J, 计算机工程与设计 , 2004, 24( 11): 10-12. 4 牛立新,关永,刘旭敏 . 嵌入式移动数据库研究 , 微计算机信息, 2006,第 22 卷第1-2 期, 85-87 页转 251 页 作者简 介:邹明亮,男, 1977 年 6 月,汉族,湖南邵阳人,助教,硕士研究生 ;研究方向:计算机网络技术, E-mail: 导师简介:程小辉,男, 1961 年 3 月,教授;研究方向:计算机网络技术、嵌入式系统应用、数据库技术 (541004 广西桂林工学院电子与计算机系 ) 邹明亮 程小辉 刘亚荣 (Department of Electronics and Computer Science , Guilin University of Technology, Guilin 541004) Zou,Mingliang Cheng,Xiaohui Liu,Yarong 基金项目:广西自然科学基金项目资助(桂科自 0447099)