基于 Agent 的分布式数据库异构消解策略
摘 要 目前 分布式数据库的使用是非常广泛的,但是由于实际情况的需要,不同的站点
使用的本地数据库系统可能是不同的,这就出现了异地、异构数据库系统之间的互操作
问题 。根据多数据库系统各种异构类型和它的 应用 特点,本文提出了使用 Agent 技术来
解决分布式系统中异构数据库的互操作问题。 关键词 分布式数据库,多数据库系统
,异构性,Agent,模式 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 是处在某个环境中的计算机系统,该系统有能力在这个环
境中自主行动以实现其设计的目标。 Agent 的特征 自主性:Agent 具有属于其自身
的计算资源和局部于自身行为控制的机制,能在无外界直接操纵的情况下,根据其内部状
态和感知到的外部环境信息,决定和控制自身的行为。 交互性:能与其他 Agent 进行
多种形式的交互,能有效地与其他 Agent 系统工作。 反应性:能感知所处的环境,并
对相关事件做出适时的反应。 主动性:能遵循承诺采取主动行动,表现出面向目标的
行为。 Agent 具有的能力 自主能力:Agent 可以在没有人或其他 Agent 直接干预的
情况下运作,而且对自己的行为和内部状态有某种控制能力。