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 (移动代理) MC: Mobile Client(移动客户)
4 基于移动Agent的嵌入式移动数据库的研究侧重点
1) 移动Agent的协同。移动Agent具有自主性,同时也具有协作性,能够相互合作,从而高效透明的使用网络上的资源[3]。通常各种数据资源存储在各个不同的网络节点上,随着数据库技术的发展,很多应用都涉及到访问不同位置的数据库,对此,用户可以创建多个Agent,让其分散到网络的多个节点上去执行,当多个移动Agent共同完成一个任务时,Agent之间需要进行通信,移动Agent系统可采用的通信方式有很多,比如 RPC,RMI等,在具体的代理系统中,通信的实现方式则有很大的差别。如:Cornell大学的Tocama通过一个携带数据的briefcase来交换数据;General Magic公司的Telescript中Agent只能在会话点中用本地方法调用的方式相互通信; Dartmouth学院的D’Agent既支持底层的基于字节流的消息传递方式,也支持基于Agent层次的高层通信方式。