OGSA

2024-08-02

OGSA(共3篇)

OGSA 篇1

一、OGSA-DAI概述

OGSA-DAI即开放网格服务架构———数据存取和集成(Open Grid Service Architecture-Data Access and Integration)是一种中间件,使得现有数据资源,如关系数据库和XML数据库能够集成到网格环境中的架构。

OGSA-DAI项目是由UK Database Task Force提出构想,并紧密地和全球网格论坛数据访问和集成服务工作组以及Globus团队一起工作。总体上,OGSA-DAI与DAIS相符合,它也努力成为DAIS网格数据库服务推荐标准的第一个参考实现。OGSA-DAI的目标是致力于构建一个支持访问大型的、基础的静态数据库的中间件系统,这个中间件是带有许多扩展点的工具包,它为开发者提供了便利,以适应各自特定的不同的需要。

二、OGSA-DAI工作流程

OGSA-DAI通过面向文档的接口来完成和数据服务资源(DSR)之间的交互,客户端并不直接和数据服务资源对话,用户首先发送执行文档给数据服务(DS),然后由DS传递该文档给数据服务资源DSR,DSR解释执行文档并完成该行为。这些行为可能从某种方式上卷入了与DSR联系的DS的交互,例如,执行一个SQL查询语句。相应文档描述了请求的结果,然后由DSR并通过DS返回给客户端。详细过程如图1所示。

OGSA-DAI在Web Service容器(Web Service Container)中运行,如Apache Tomcat,而Globus Toolkit则是OGSA-DAI用于运行各种服务的网格中间件,包括Apache XML Axis handlers。客户端向OGSA-DAI服务器发送以下XML文件:

1、OGSA-DAI创建文档(Create Document),通过OGSA-DAI创建网格数据服务来存取相应的数据库。

2、OGSA-DAI执行文档(Perform Document),通过OGSA-DAI在数据库中执行SQL查询和更新,以及接收返回的响应。每个SQL操作都称为一次活动(Activity)。

实际上,系统还支持其它类型的活动。执行文档可以包括多项SQL操作,如查询操作,但无需编写任何数据库连接语句,因为创建网格数据服务时OGSA-DAI在后台会进行相应的数据库连接。SQL查询请求的输出结果被格式化为Web Row Set格式中的XML格式。也无需对结果集进行迭代,因为OGSA-DAI会一同返回所有行。一个执行文档中的所有SQL请求会作为单独的事务(恢复单元)来处理。图2阐述了OGSA-DAI向第三方发送响应的可能性。

一旦OGSA-DAI启动,工厂就随之启动,然后用注册器将其注册,并能通过配置文件中的静态信息和配置文件提供的Meta Data Extractor类能访问到服务数据。工厂还将根据数据资源创建实现对象,然后客户机确定在注册器中列出的众多工厂中应该使用哪一个。一旦选定合适的工厂,客户机就请求工厂创建一个GDS实例,以访问特定的数据资源。现在,GDS己经准备好了,可以接收执行文档,运行数据库查询,传输查询结果和传送数据。数据服务操作的具体步骤如图3所示。

OGSA-DAI工作流程主要如下:

(1)运行Web Service Container,并且创建永久的网格注册服务DAISGR;

(2)创建永久的网格工厂服务GDSF,此时GDSF代表一个数据源;

(3)GDSF在DAISGR上注册;

(4)如果用户想了解有哪些数据库,可以直接查询GDSF,也可以通过DAISGR定位合乎需要的GDSF;

(5)用户请求创建一个GDS;

(6)用户查询GDS的服务数据。服务数据公布的信息包括:数据源的信息,GDS执行的Activities,描述Perform Document的XML Schema;

(7)用户提交Perform Document和GDS进行交互;

图图33 OOGGSSAA--DDAAII具具体体操操作作步步骤骤

(8)GDS对数据库进行SQL操作,并返回结果;

(9)GDS返回一个Response Document;

(10)用户销毁GDS或者让其自动消亡。

三、结束语

本文简单介绍了OGSA-DAI,重点分析了OGSA-DAI的工作流程,具体从基本工作流程、实现过程和具体操作步骤来阐述,为OGSA-DAI的应用提供了理论支持。

参考文献

[1]刘建新,阎保平.OGSA-DAI体系结构及其关键技术[J].计算机应用,2004.

[2]南凯,阎保平.扩展OGSA-DAI的数据集成框架及原型[J].计算机工程,2007.

[3]Shirley Crompton,Brian Matthews,Alex Gray,Andrew Jones and Richard White.Acces-sing Web Database Using OGSA-DAI in BDWorld[J].Knowledge and data management in GRIDS,2007.

[4]郭海.基于OGSA-DAI的分布式异构数据集成[D].山东:山东大学,2007.

[5]Databases and the Grid OGSA-DAI Architecture&Status,Malcolm Atkinson OGSA-DAI Chief Architecture,2002.

OGSA 篇2

OGSA是一种开放网格服务框架(Open Grid Services Achitecture)也是Web Services和Grid技术结合的产物,已成为网格基础框架的标准。在OGSA中,一切都叫做服务,系统由持久服务和瞬时服务组成。OGSA服务接口如表1所示。

网格访问可以把令人望而生畏的大型任务切割成小的片段以便利用现有的资源来进行处理:

(1)用户使用它的PC(被称为访问节点)向网格发出一个需要处理的任务请求。

(2)管理服务器(或一组服务器)对该用户的身份进行认证。

(3)服务器把分离的任务片段发送给每一个计算节点(分布在网格中的计算资源),每个节点都包含了代理程序,当存在空闲的处理周期时,它会运行任务片段。

(4)当某台机器完成作业后,它会把结果返回给管理服务器,服务器再汇集这些结果并更新工作站和用户的状态。根据整个任务规模和可用资源的不同,步骤3和步骤4可能会重复若干次。

(5)当整个任务完成后,服务器会把结果返回给用户。

2 网格数据服务

2.1 网格数据服务注册

数据服务注册(GDSR,A Grid Data Service Registry)是支持网格服务句柄集合的注册Registry的深入扩展,这些服务句柄是为用Registry登记过的一系列GDS和GDSF而设置的。GDSR提供了一个将查询服务授权的客户程序,客户程序将提供基于已注册过的一系列GDS和GDSF的GDSDE的应答。

2.2 网格数据传送服务

数据通过机制集合在GDS之间的流动称为数据传输服务即GDTS,比如Unix管道、GridFTP、MPI、MQ Series,等等。数据流动可以在同构或异构的环境中进行,但也可以通过第三方。由于数据流动涉及巨大的资源,因此它们必须用软状态机制来避开无认证的或无边界的访问资源。同时,这一范围还必须包括大容量传送、大规模装载、查询结果传递和在分布式查询中的状态复制等。

2.3 网格数据服务生成

GDS可暂时也可永久:一个永久的GDS可以被看成是为一个数据库或其它数据资源提供的永久的“网格接口”;一个暂时的GDS可以在请求管理与数据存储的单个用户连接时或者在临时数据复制时产生。

3 OGSA中的数据访问和服务集成的框架OGSA-DAI

GDSR,GDSF,GDSF的服务集成如图1所示。

附图是服务组件之间联系的快照。操作中包括1个客户、5个OGSA-DAI组件和4个网格数据传输服务(不是所有的控制信息都包括在内)。椭圆表示OGSA-DAI组件,矩形表示客户,箭头表示控制信息,粗箭头表示GDTS应用。

参考文献

[1]Tuecke S,Czajkowski K,Foster I,Frey J,Graham S,Kesselman C,and Nick J.Grid Service Specification,circulated via OGSI-WG[EB/OL],http://www.globus.org/research/papers.html,June2002.

[2]Foster I,Kesselman C,Tuecke S et al.The Physiology of the Grid:An Open Grid Services Architecture for Distributed Sys-temsIntegra-tion[EB/OL].http://www.globus.org/research/papers.html.

[3]Smith J,Gounaris A,Watson P,Paton N W,Fernandes A A A,and Sakellariou.Distributed Query Processing on the Grid[EB/OL]http://www.cs.man.ac.uk/nrizos/papers/ijhpca03.pdf,June2002.

OGSA 篇3

网格计算[1]在分布式计算中是一个比较新的概念,它的目的是提供一种分发和共享资源的环境。随着这一概念的提出,急待解决的问题主要集中在分布式计算。网格中间件必须明确谁是它们宣称的用户,在什么条件下可以授权用户使用资源。网格中间件还应当提供如何找到特定的资源,分配工作,并传输文件和用户之间的资源。业界一致认为在提供这一基础构件的同时,对用户隐藏细节也是网格计算中的一个重要概念。

网格计算在过去的十年中已经取得了重要进展,为这些系统提供必要功能的中间件也已经开发出来。现在有几十种解决方案去落实和部署网格基础设施,如:Globus Toolkit[2],Unicore,g Lite,GridBus等等。

2. 相关工作

OGSA-DAI项目致力于打造一个通过网格访问和集成来自不同的孤立数据源的中件间。OGSA-DAI 3.0[3]符合基于OGSA的网格标准,并在Globus Toolkit 3.0上进行开发,支持DB2、Oracle、Xindice、MySql等数据库管理系统。网格数据库是对现有数据库的网格化,基于开放网格服务体系统结构提供网格数据库服务,使网格用户或其它网格服务可通过网格数据库服务访问网格中的各种异构数据库,从而达到数据资源的高度共享和协同处理,对数据资源的访问更加透明、高效、可靠,网格数据处理的能力更强,更好地满足更广泛虚拟组织的数据处理需求。它的主要功能是提供一个通用的方法,使用不同的数据库管理系统(DBMS)来管理不同的关系型数据库。DBMS使用Web服务标准的通信。OGSA-DAI中间件可部署在Globus容器,或在Tomcat容器上。随后,OGSA-DAI团队提供了一个客户端应用程序编程接口(API)编写的程序访问开放数据库。

JDBC API是由SUN公司提出的一个工业标准,它以Java语言作为访问数据库的基础。几经修订,自其成立以来现最新规格是6.0版本。JDBC的目的是为任何使用Java语言的DBMS提供一个共同的接口来访问数据库。这种方式被广泛使用,几乎被所有的Java程序员所熟知。

OGSA-DAI技术执行API行业标准的必要性首次被关注。我们的想法是整合JDBC和OGSA-DAI中间件,提供给在OGSA-DAI[4]项目中没有任何经验的Java程序员,使他们有可能以最小的代价得以访问在网格中的数据库。现在已经有了一个遵照开放标准的基于中间件的标准API。

3. 技术概览

在本节中我们要讨论可以用于这方面工作的主要技术。

3.1 Java数据库连接

基于平台的便携性考虑,Sun公司开发了JDBC Microsystems,并想让它成为访问数据资源的一种标准方式。JDBC实现了这个目标,它为每一个DBMS供应商提供了一个接口,即执行一个所谓的JDBC驱动程序。图1显示了JDBC API中最重要的接口和它们的相互作用。为了获取一个连接实例,SUN提供了一类驱动程序管理器来连接用户的驱动程序接口。在执行过程中用户应向Device Manager表明自己的驱动程序是否可以处理或在不作要求的基础上连接URL。如果是的话,JDBC就返回一个连接的数据库并编写声明,用来说明和调用接口之间的关系,然后提供一个查询数据库的连接,并在更新报表的情况下以整数的形式返回结果,或者选择一个指令的结果集。用JDBC的好处之一是在更改数据库以后不会影响代码,但一些配置文件应该重新编写。

现在面临的主要问题是直接在网络环境中使用JDBC时,通信协议和信息没有统一的规范标准,每一个数据库管理系统厂商都在执行JDBC的API时实施自己的通信协议。

3.2 OGSA-DAI的JDBC驱动

从一个Java程序员的角度来看,用OGSA-DAI基本构件编写客户端程序需要OGSA-DAI组织提供的客户端API。这就迫使Java程序员需要学习一种新的访问数据库的方式。还有一种观点认为,应从传统的应用程序和Java框架出发。为了使传统的应用程序可以访问在网格上孤立的数据库资源,所有编程人员编写的关于访问数据库的代码都应该更改,但这就可能会导致很多意想不到的错误。与Java框架相比,我们有一个类似的情况,即一个非常常见的Java语言的持久性框架,例如,Hibernate和Java持久性API(JPA)。它们都依赖于JDBC API。再者,如果框架开发商决定支持访问OGSA-DAI开放数据库,大量的代码都必须做相应改动。

4. 方案实现

OGSA-DAI的JDBC驱动程序的部署从无到有,该驱动程序基于JDBC规范的5.1版本。使用安装在Windows或Linux操作系统上的OGSA-DAI3.0进行代码测试。主机硬件为Core 2 Duo T7250的CPU,2GB内存及NVIDIA 135M显卡,在Windows或Linux系统下安装有VMWare的虚拟机上安装VMWare服务器,这可用于OGSA-DAI使用Apache Axis1.6版本部署Apache Tomcat或部署在Globus容器4.0.x版本上。

应像使用其它任何JDBC驱动程序那样,为了从开放数据库OGSA-DAI使用JDBC建立连接和检索信息,我们必须为驱动程序类指定详细路径,并应包含br.usp.pcs.lahpc.ogsadai.jdbc.Driver。我们还必须提供数据资源的URL,使用如下的标准:jdbc:ogsadai:///.

为了更好地了解JDBC URL,让我们来看一下每一部分都是如何工作的。

jdbc:ogsadai-它在ogsa-dai中,确定了数据库的基本类型。

/-这部分是部署OGSA-DAI服务的路径,例如:localhost:8080/dai/services

-最后你必须提供你想进入的数据库资源的名称,因为一个OGSA-DAI实例可以访问一个以上的数据库,所以这是必要的。

在Java语言中操作发送的查询和处理结果和其它任何JDBC驱动程序都是一样的,这是OGSA-DAI的JDBC驱动程序一个很大的优势。以下的代码是一个如何使用OGSA-DAI的JDBC驱动执行查询的例子。

上述代码对一个Java程序员来说肯定非常熟悉,其中的差别在于所指定的驱动程序类(第2行)和URL资源(第3行)。为了使OGSA-DAI的API一致,我们经历了一个很繁琐的过程。然而,通过这个过程中数据库的检索信息,客户将拥有更多的控制权。例如在使用My SQL时,我们只需要改变第2行和第3行上的代码。

5. 结论

在一个网格上使用现有的技术访问网络资源[5]可以促进OGSA-DAI的发展并使它在不具有网格计算专业知识的程序员当中流行起来。这种方式也可以使我们的传统应用程序访问网格资源。JDBC API访问数据库的应用将有助于普及OGSA-DAI。

使用OGSA-DAI的主要好处是允许现有的应用程序在原有源代码几乎不用改变的前提下访问数据资源。我们还强调通过OGSA-DAI在JDBC的基础框架上处理数据库的益处。现在JDBC技术应用如此广泛,这可能促使OGSA-DAI用于商业开发当中。

摘要:OGSA-DAI是一款能够在网格中开发和管理数据库的中间件。我们目前所做的工作是用SUN公司JDBC接口的一个应用来扩展OGSA-DAI的网格中间件,使用Java语言来访问数据库。本次应用使用OGSA的代客户端API,目的是提供一种简单的方法,使新的和现有的开发人员及应用程序能够在网格中使用OGSA-DAI中间件来操作数据库。

关键词:grid,网格计算,jdbc,开放式网格服务体系(OGSA),OGSA-DAI

参考文献

[1]都志辉,陈渝,刘鹏.网格计算[M].北京:清华大学出版社,2002.

[2]I.Foster.Globus toolkit version4:Software for service-oriented systems.Network And Parallel Computing[R]:IFIP International Conference,NPC2005,Beijing,China,November30-December3,2005:Proceedings,2005.

[3]C.Hong,A.C.Hume,M.Jackson.Ogsa-dai3.0-the what’s and whys[R].In UK e-Science All Hands Meeting,2007.

[4]Y.Chen,D.Berry,and P.Dantressangle.Transactionbased grid database replication[R].UK e-Science All Hands Meeting,2007.

【OGSA】推荐阅读:

上一篇:10分钟时光下一篇:农村水污染的治理对策

本站热搜

    相关推荐