1 引言
目前应用比较广泛的解决异构数据库互操作问题的方法是多数据库系统(MDBS)模式。多数据库系统有以下几个特点:
(1) MDBS必须屏蔽各局部数据库系统(LDB)异构的操作环境和语义表示,包括计算机,操作系统,网络协议,数据模式等。
(2) MDBS对已经存在的LDB不做什么改动,即MDBS对LDB来说像一个应用程序或新用户,并不妨碍原来LDB的工作模式。
(3) LDB只使用本地资源实现局部自治,要使用别的LDB资源必须通过MDBS调用相应的LDB系统,不允许一个数据源到另一个数据源之间的数据直接转换或迁移。
(4) MDBS中只使用一种统一的语言,用户像使用一个数据库一样使用MDBS。
(5) 分布式数据库意味着数据是分散存储的,MDBS必须解决分布数据模式对用户透明地转换与传输。
图1 MDBS体系结构图
MDBS中所要解决的首要问题就是异构性消解问题。MDBS本身是一种客户端/服务器结构,多个MDBS的客户与MDBS交互作用,用户可以通过MDBS对多个LDB进行存取操作。MDBS管理所有全局数据库的控制信息,包括全局模式、全局事务的提交和控制等。每一个LDB通过一个驱动器经过通信子层与MDBS连接。图1显示了MDBS的体系结构:
2 分布式数据库系统的异构性
一个分布式数据库系统的异构性可以划分为3个层次。最底层为平台层,如不同的计算机、操作系统或通讯协议,同时各系统也会采用不同的编程语言和编译环境;中间层是系统层,如不同的数据库管理系统,甚至是文件系统,它们基于不同的数据模型,提供不同的语言。由于不同的应用系统有不同的应用逻辑、不同的设计方法,因此局部应用系统之间软件结构以及它们的数据表示都会有很大的不同。这是多数据库结构的消解所要解决的主要问题之一;最顶层是数据语义层,由于不同的数据库是独立设计的,不同的数据语义之间存在着很大的差异。不同的系统采用不同的方式去描述它们的数据,相同的信息可以用不同的模式,即使在同一个系统中相同的信息也可以用不同的数据模式表示。
分布式数据库需要方便人机交互,能将不同的数据源和不同的信息集成到为一个用户界面所能理解的文档中。在本文中,采用Agent来实现对不同数据源的访问以及不同信息的集成。
3 Agent
下面式引自Wooldridge和Jennings(1995)的定义:
Agent是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动以实现其设计的目标。
3.1 Agent的特征
自主性:Agent具有属于其自身的计算资源和局部于自身行为控制的机制,能在无外界直接操纵的情况下,根据其内部状态和感知到的外部环境信息,决定和控制自身的行为。
交互性:能与其他Agent进行多种形式的交互,能有效地与其他Agent系统工作。
反应性:能感知所处的环境,并对相关事件做出适时的反应。
主动性:能遵循承诺采取主动行动,表现出面向目标的行为。
3.2 Agent具有的能力
自主能力:Agent可以在没有人或其他Agent直接干预的情况下运作,而且对自己的行为和内部状态有某种控制能力。