基于Agent的分布式数据库异构消解策略

时间:2024-04-26 02:46:41 5A范文网 浏览: 论文范文 我要投稿

摘  要  目前分布式数据库的使用是非常广泛的,但是由于实际情况的需要,不同的站点使用的本地数据库系统可能是不同的,这就出现了异地、异构数据库系统之间的互操作问题。根据多数据库系统各种异构类型和它的应用特点,本文提出了使用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是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动以实现其设计的目标。

3.1 Agent的特征

      自主性:Agent具有属于其自身的计算资源和局部于自身行为控制的机制,能在无外界直接操纵的情况下,根据其内部状态和感知到的外部环境信息,决定和控制自身的行为。      交互性:能与其他Agent进行多种形式的交互,能有效地与其他Agent系统工作。      反应性:能感知所处的环境,并对相关事件做出适时的反应。      主动性:能遵循承诺采取主动行动,表现出面向目标的行为。

3.2 Agent具有的能力

      自主能力:Agent可以在没有人或其他Agent直接干预的情况下运作,而且对自己的行为和内部状态有某种控制能力。   


  [8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />    社交能力: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的维护和功能升级。

 图2 带有Agent的MDBS体系结构图      (2) 由于是Agent负责于各LDB进行交互,所以MDBS可以屏蔽各局部数据库系统异构的操作环境和语义表示,不用干预LDB的工作。      (3) 由于Agent可以独立的、主动的从环境 (这里指MDBS) 中获取信息,因此MDBS可以使用一种统一的语言,而不必关心与不同的Agent进行交互的问题。      (4) 由于多Agent系统可以通过某种机制进行协商使系统的总体收益最大化,减少了人为的优化工作。      (5) 多个Agent之间的交互可以使来自不同类型数据库的数据形成统一的可以被DMBS识别的文档。      (6) 由于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.


  [8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr /> 

相关文章:

审计论文:影视企业收入审计难点及策略探讨04-26

在职MPA论文的选题技巧04-26

基于数控等离子增材制造的复杂结构件路径规划方法思考04-26

农村初中寄宿生坚毅品质发展现状与教育策略思考04-26

2021年临床医学毕业论文选题30例04-26

跨区域公共危机治理的协同机制探讨04-26

数字经济时代企业边界突破的逻辑与路径04-26

金融论文:新股发行制度改革对A股上市公司IPO抑价现象04-26

计算机论文:基于深度学习的特定目标情感分类模型探讨04-26

农村基础设施投资是拉动还是挤出了居民消费04-26

热搜文章
最新文章