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层次的高层通信方式。
2) 移动Agent的重定位。移动Agent在完成客户Agent所提出的任务时,由于所需的资源可能分布在网络不同的节点上, Agent需要在网络中移动。在移动数据库系统中,移动客户端的位置通常不断发生变化,这时,Agent也需要根据移动客户端的位置重新在网络中进行定位,从而缩短与移动客户端的距离,达到减少通信时间以及网络通信开销的目的。对于移动Agent的重定位方法可以采取如下方式:(1)通过使用位置服务器。当移动Agent创建时,在相应的位置服务器中注册当前位置,当移动Agent发生位置变化时,要在位置服务器中更新自己的位置信息,要定位所需的移动Agent通过向位置服务器查询即可。(2)通过跟踪移动Agent的移动路径。移动Agent迁移时,记录下移动Agent的迁移路径,从而可以根据路径来定位所需的移动Agent。(3)通过发送广播消息,采取与局域网中ARP协议类似的方法,向系统内所有节点发送广播消息,由符合的条件的移动 Agent发回响应消息。
3) 并发操作的控制。嵌入式移动数据库在实际应用中必须解决好数据的一致性[4],在移动数据库系统中,有时存在多个Agent并发访问共享信息的情况,为了保证数据的一致性,需要对并发操作进行正确的控制,目的是为了避免出现使数据处于不一致状态的并发事物调度。在基于移动Agent的系统中,既要维护本地数据库系统的一致性,也要维护网络节点上数据库系统的一致性。并发控制可以借助DBMS本身的功能来完成,因为目前一般的数据库管理系统都有较好的并发控制功能,同时也可借助一些开发工具来实现并发控制。相对于传统的数据库系统,Agent并发控制相对较复杂,可能存在网络节点上的数据库不完全接受Agent的控制、本地数据库与网络节点上的数据库之间存在相互约束关系等一些影响因素。
4)故障的恢复。在基于移动Agent的移动数据库系统中,故障恢复较传统的数据库系统也相对复杂一些,需要恢复网络节点上的各个数据库中的数据、恢复每个Agent的本地数据以及运行时的环境。对于网络节点上的各个数据库以及每个Agent的本地数据的故障恢复可以借助DBMS本身的功能来完成。对于Agent运行时的环境的恢复可以通过专门为对应的Agent新建一个数据库来维护运行时的环境,当Agent需要对数据进行更新操作时,先更新在为其新建的那个数据库中,当整个事物完成时再提交数据给本地数据库。
5 结束语
针对移动数据库具有的移动性、断接性、网络条件多样性、网络通信的非对称性、移动计算机的弱电源能力等特性,将移动Agent技术引入到移动数据库中,移动Agent计算模式能有效的减少网络通信流量、减少访问服务器的延迟、支持断接操作、支持异步计算等,使得移动Agent的优点得到了很大的发挥,有助于实现移动数据库的各种操作。由于移动Agent技术本身还处于发展过程中,应用移动Agent来完善移动数据库技术还有待于更加深入的研究和探索。
本文作者创新点:
鉴于在分布式数据库中使用的多层架构技术在访问量大的情况下能较好的适应数据库的各种操作,笔者在移动数据库中借鉴其相关技术同时利用了移动Agent的特点,并对由此产生的部分问题探讨了其初步的解决方式。
参考文献:
[1] 朱淼良,邱瑜.移动代理系统综述[J],计算机研究与发展,2001,38(1):16-25.
[2]王彤,王良. 移动计算中基于Mobile Agent的数据库访问技术,小型微型计算机系统,2002,23(10):1165-1168.
[3] 刘振鹏等.基于协同式移动Agent分布式数据库系统研究[J], 计算机工程与设计, 2004,24(11):10-12.
[4] 牛立新,关永,刘旭敏. 嵌入式移动数据库研究, 微计算机信息, 2006,
|