基于Agent的分布式数据库异构消解策略
来源:岁月联盟
时间:2010-08-30
1 引言
目前应用比较广泛的解决异构数据库互操作问题的方法是多数据库系统(MDBS)模式。多数据库系统有以下几个特点: (1) MDBS必须屏蔽各局部数据库系统(LDB)异构的操作环境和语义表示,包括机,操作系统,协议,数据模式等。 (2) MDBS对已经存在的LDB不做什么改动,即MDBS对LDB来说像一个应用程序或新用户,并不妨碍原来LDB的工作模式。 (3) LDB只使用本地资源实现局部自治,要使用别的LDB资源必须通过MDBS调用相应的LDB系统,不允许一个数据源到另一个数据源之间的数据直接转换或迁移。 (4) MDBS中只使用一种统一的语言,用户像使用一个数据库一样使用MDBS。 (5) 分布式数据库意味着数据是分散存储的,MDBS必须解决分布数据模式对用户透明地转换与传输。
2 分布式数据库系统的异构性
一个分布式数据库系统的异构性可以划分为3个层次。最底层为平台层,如不同的计算机、操作系统或通讯协议,同时各系统也会采用不同的编程语言和编译环境;中间层是系统层,如不同的数据库管理系统,甚至是文件系统,它们基于不同的数据模型,提供不同的语言。由于不同的应用系统有不同的应用逻辑、不同的设计方法,因此局部应用系统之间软件结构以及它们的数据表示都会有很大的不同。这是多数据库结构的消解所要解决的主要问题之一;最顶层是数据语义层,由于不同的数据库是独立设计的,不同的数据语义之间存在着很大的差异。不同的系统采用不同的方式去描述它们的数据,相同的信息可以用不同的模式,即使在同一个系统中相同的信息也可以用不同的数据模式表示。 分布式数据库需要方便人机交互,能将不同的数据源和不同的信息集成到为一个用户界面所能理解的文档中。在本文中,采用Agent来实现对不同数据源的访问以及不同信息的集成。3 Agent
下面式引自Wooldridge和Jennings(1995)的定义:Agent是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动以实现其设计的目标。3.1 Agent的特征
自主性:Agent具有属于其自身的计算资源和局部于自身行为控制的机制,能在无外界直接操纵的情况下,根据其内部状态和感知到的外部环境信息,决定和控制自身的行为。 交互性:能与其他Agent进行多种形式的交互,能有效地与其他Agent系统工作。 反应性:能感知所处的环境,并对相关事件做出适时的反应。 主动性:能遵循承诺采取主动行动,表现出面向目标的行为。3.2 Agent具有的能力
自主能力:Agent可以在没有人或其他Agent直接干预的情况下运作,而且对自己的行为和内部状态有某种控制能力。 社交能力:Agent可以与其他Agent(也可以是人)交互,以满足它们的设计目标。 反应能力:Agent可以感知环境,并可以对环境发生的变化以及时的方式做出反应,以满足它们的设计目标。 预动能力:Agent通过主动发起可以表现出目标引导的行为,来满足它的设计目标。3.2 多Agent系统
单个的Agent的作用是非常有限的,目前应用比较广泛的是通过多个Agent进行交互来实现某一目标的多Agent系统(MAS)。 Jennings(2000)描述了一个标准的多Agent系统结构:系统包含一些Agent,它们通过通信互相交互。这些Agent可以在环境中工作,不同的Agent有不同的作用范围,表示它们可以控制、至少是影响环境的不同部分。在有些情况下,影响的范围可能会重叠,而影响范围重叠的事实会产生Agent之间的依赖关系。Agent同样可以通过其他关系联系起来,比如一个Agent是另外一个Agent的“老板”。 由于多个Agent之间有依赖关系,因此每个Agent应该具有信念、愿望、意图等属性,并通过某种理性的平衡策略来交互,从而解决问题。4 利用Agent实现数据库异构消解
利用Agent实现数据库异构消解的具体做法是:在原来的MDBS体系结构中的MDBS管理层中引入处理与LDB交互,并能互相通信的Agent。Agent的功能有两大部分:一是接收MDBS的命令与LDB进行交互;二是与系统中的其他Agent交互,包括传递信息并将处理结果转化成MDBS能够识别的统一格式的文档。由于多个站点的局部数据库是不同的,因此需要在MDBS管理层中设置多个Agent,每个Agent负责与一类数据库进行交互,如:Agent_Oracle负责与Oracle数据库进行通讯,如果有多个LDB采用Oracle数据库,则这些站点均与同一个Agent_Oracle进行通讯,同样Agent_SQL负责与SQL数据库进行通讯。由此,MDBS可以改成图2所示的结构:这种异构消解方式的可行性在于: (1) 由于MDBS连接的LDB的数量是不同的,如果在一个MDBS连接多个LDB的情况下,为每一个LDB设置一个Agent负责通讯和协商,成本明显比本文描述的方式要大,而且由于每个Agent位于各自的局部站点上,不利于Agent之间的交互。在MDBS层为每一类数据库设置一个Agent可以大大减少Agent的数量,而且易于实现Agent之间的通信。在构造多数据库系统时,可以根据具体的需要配置Agent,并且由于一类数据库对应一个Agent,这样有利于Agent的维护和功能升级。5
本文通过在多数据库系统中的MDBS层为每一类数据库设置一个Agent,并由Agent来实现DMBS与各LDB的交互及不同模式的数据的统一,从而实现了异构数据库的消解。并论述了该方法的可行性。[1] 贾焰,王志英,韩伟红,李霖等. 分布式数据库技术[M]. 国防出版社,2001.[2] Michael Wooldridge. An Introduction to MultiAgent Systems[M]. John Wiley & Sons,Inc. 2002. [3] 萨师煊,王珊. 数据库系统概论[M]. 高等出版社,2001.[4] 周彩兰. 移动Agent技术在分布式数据库系统中的应用[J]. 武汉理工大学学报,2005,27(2):85-92.[5] 达飞鹏,孟广猛. 分布式数据库异构消解研究[J]. 机工程与应用,2004,187-190.[6] 邵佩英. 分布式数据库系统及其应用[M]. 出版社,2005.[7] 俞大昭. 基于分布式数据库的移动Agent安全体系架构[J]. 计算机工程与设计,2004,25(2):246-251.上一篇:宽带门户网站身份认证系统设计
下一篇:连锁销售决策支持系统解决方案研究