2024年4月15日发(作者:)

第29卷第1期 

2012年1月 

计算机应用与软件 

Computer Applications and Software 

Vo1.29 No.1 

Jan.2012 

OGSA—DAI 4.0在科学数据共享平台中的应用 

吴一民许靖潘

(华南理工大学计算机科学与工程学院

星 

广东广州510006) 

摘 要 介绍科学数据的特点和信息孤立现象产生的原因与现状,并通过研究OGSA.DAI项目的框架结构与原理,分析了根据其 

构建科学数据共享平台的可行性。最后提出以OGSA-DAI+Globus(Open Grid Services Architecture—Data Access And Integration)数 

据网格环境为基础,构建安全的、跨地域、跨平台的科学数据共享平台的解决方案。 

关键词 科学数据共享 

OGSA—DAI Glohus安全 

中图分类号TP302 文献标识码A 

APPLYING oGSA.DAI 4.0 TO SCIENTIFIC DATA SHARING PLATFORM 

Wu Yimin Xu Jing Pan Xing 

(School of Computer Science and Engineering,South China University of Technology,Guangzhou 510006,Guangdong,Chian) 

Abstract The paper introduces scientific data characteristics a8 well as forming reasons and circumstances of information isolation phe— 

nomenon.In addition,through studying OGSA—DAI project framework architecture and principles,the feasibility of building a scientific data 

sharing platform upon it is analyzed.Finally,a solution is proposed to construct a secure,cross—regional and CroSS-platform scientific data 

sharing platform based on OGSA-DAI plus a Globus data d environment. 

Keywords Scientific data sharing OGSA-DAI Globus Security 

工具包来源于Globus项目,是一套用于编写基于网格应用程序 

0引 言 

的软件工具包。 

GSI(Grid Security Infrasturcture)是Globus的安全基础构建 

科学数据资源是指通过科技活动或其他方式所获取到的反 

包,它基于PKI(Public Key Ifnrastructure)公钥加密体系,为Glo— 

映客观世界的本质、特征、变化规律等的原始基本数据,以及经 bus网格环境提供了安全保障。GSI组件的功能可分为4个部 

过系统加工整理的各类数据集 。随着科学技术的发展以及 

分:消息保护,认证,代理和授权-3 。 

研究人员的努力,科学数据资源的数量已十分庞大。如此海量 

OGSA・DAI,该项目是由UK-Database Task Force、GGF DA・ 

的数据资源不仅种类繁多,并且往往掌握在不同的所有者或科 

IS—WG以及Globus团队共建的,致力于建造通过网格访问和集 

研机构手中。由于地域距离以及数据存储结构的限制,各所有 

成来自不同的孤立数据源的中间件 J。OGSA.DAI的架构如图 

者之间交流数据的难度和成本十分高昂,从而造成了信息孤立 

1所示。 

的局面。 

科学数据共享平台致力于为数据使用者与拥有者提供便 

客户端 客户墙工翼包APT 

OGSA—DAI敷据臌务 

利、高效的数据交流方式。科学数据只有在广泛的共享与应用 

I WSRF I l OGSI I l WS-I l 

中,才能实现其最大效用,并在应用过程中衍生出更高层次的数 

据。但是,在如此开放、广阔的互联网环境中,这种大规模的数 

据共享行为将会变得异常复杂,可能产生效率问题和安全隐患。 

OGSA—DAI内核 

所以,必须要建立一套健全的共享机制,才能使科学数据资源发 

挥最大的作用。本文提出了使用基于Globus 4.2.0的OGSA. 

图1 OGSA—DAI架构 

DAI 4.0构建网格环境中的科学数据共享平台,实现安全的、跨 

1)数据层 OGSA-DAI提供对多种数据源的访问,包括 

地域、跨平台的科学数据资源共享。 

Oracle,MySQL,SQL Server,DB2等关系数据库和Xindice等XML 

数据库系统,并支持文件和目录。 

1相关技术 

2)业务逻辑层 封装了OGSA-DAI的核心功能。该层通 

过提供数据服务资源来暴露数据源,接收和响应用户的请求,并 

Globus,由以美国Argonne国家实验室为首的项目组研发, 

是目前最著名的网格研究之一。它致力于在科学计算及商业领 

收稿日期:2010一ll一25。广东省科技计划项目(2009B06010042)。 

域对各种应用进行基础性的网格环境支持 。Globus Toolkit 

吴一民,副教授,主研领域:操作系统,软件工程。 

132 计算机应用与软件 2012韭 

负责连接、访问、管理数据源以及对数据进行转换和传输管理。 

3)表示层封装了OGSA—DAI向网格展示的服务,并通过 

web或网格接口将其功能暴露出来。该层共提供WSRF、OGSI 

和WS—I三种实现,针对每种实现都会有相应的WSDL和XML 

来描述相关接口。 

4)客户端OGSA—DAI提供了一套客户端工具包,用户可 

以通过它与各种OGSA—DAI服务进行交互,实现对数据源的检 

索、更新等操作。 

该项目已更新至OGSA—DAI 4.0版本,与之前版本相比具 

有如下特点:重构并继承了SQL视图组件;为基于JDBC的关系 

数据库资源提供连接池;可以通过JSP页面跟踪工作流,并查看 

其执行状况等。 

2基本思想 

科学数据的共享具有多种方式,如开放数据库共享、Deep 

Web共享、元数据共享和基于网格环境的数据共享等。本文提 

出的方法即基于数据网格系统OGSA—DAI进行数据共享。 

传统的数据共享方式往往采用分而治之的方式,即针对不 

同类型的异构数据采用不同的访问方法,或是直接使用各数据 

提供者的原始数据接口,从而造成数据的规范不统一、集成和扩 

展性不好等问题,限制了数据共享效用的发挥。而本文使用 

OGSA—DAI作为数据网格中间件,起到了屏蔽异构数据的作用, 

可以将数据提供者和使用者统一至网格平台之上,不仅弥补了 

前述方式的缺陷,并且简化了数据共享的过程。 

同时,我们将使用Globus的GSI安全体系来取代原始的用 

户名密码认证方式,这样做不仅可以进行身份识别和角色控制, 

而且也可对数据传输过程进行加密,数据共享将更加安全。 

在本文提出的方法中,作为对传统方式的改进,我们还将针 

对OGSA—DAI无法自动进行服务注册和发现的缺点,建立服务 

注册中心;并且通过编写客户端资源发布程序替代其原有的命 

令行发布方式,对用户的本机资源发布进行规范和简化。 

3 基于oGSA-DAI 4.0的数据共享平台设计 

平台的设计目标是通过搭建网格环境实现安全的、跨地域、 

跨平台的异构科学数据资源集成访问与共享。OGSA-DAI 4. 0 

存在两个版本:基于Axis的OGSA—DAI—Axis和基于Globus的 

OGSA—DAI.GT。Axis是~个开源的、基于XML的Web服务架 

构,用于创造可互操作的、分布式的应用。然而由于需要使用前 

文提到的GSI安全认证体系,所以我们决定使用基于Globus 

4.2.0的OGSA—DAI 4.0版本。 

本文中我们将数据资源的使用者称为客户端,数据提供者 

称为服务器。当然,在实际应用中,一个终端实体可以既是客户 

端又是服务器。整个系统的基本工作流程如下:服务器端首先 

通过资源配置工具将其欲提供的数据库或文件等封装为数据资 

源,然后向科学数据共享平台提交服务发布申请,申请信息包括 

该服务的提供者的信息以及数据资源的具体描述,服务申请经 

过平台管理员审核之后发布出去,供客户端查询与访问。客户 

端使用数据时需首先向科学数据共享平台提交查询请求,平台 

根据各服务提供者的描述信息选择最合适的数据资源,将客户 

端的请求信息组装成对应的SQL语句或工作流对资源进行访 

问或操作,最后再将结果进行整合过滤返回至客户端。系统框 

架如图2所示。 

图2科学数据共享平台框架 

平台主要包含四个模块:服务注册模块,资源发布模块,安 

全控制模块和集成访问模块。 

3.1服务注册模块 

虽然OGSA—DAI为操作异构数据库提供了统一的接口,但 

是数据资源的配置工作则比较繁琐,必须修改相应的配置文件, 

这就要求用户必须非常熟悉OGSA—DAI各种接口的使用方法, 

需要很强的专业性 。 。 

为简化用户的操作,平台将提供一个客户端工具辅助服务 

提供者发布资源。通过该工具,服务器端可将其提供的数据封 

装为OGSA.DAI中的数据服务资源,并对外提供可访问的web 

Se ̄ice接口。资源发布之后,还需在数据共享平台进行服务注 

册,才能将自己提供的资源公布给使用者。进行服务注册,服务 

器端需提供该数据服务的URL,对应数据资源的Resource ID以 

及它的元数据信息。为防止不良信息混入其中,服务器端还必 

须赋予平台对其所有数据资源访问权限,供平台管理员对数据 

进行审核。审核通过之后,该服务器提供的服务信息及资源元 

数据信息将被添加至平台维护的服务注册中心数据库中。 

当服务信息有所变更时,平台可根据服务发布者的请求对 

该数据库中的服务以及元数据信息进行添加、更新和删除等操 

作。同时,平台将对外提供服务查询接口,供数据使用者即客户 

端填写查询请求,并通过查询服务注册中心数据库找到匹配的 

服务资源信息,将其返回至客户端。 

3.2资源发布模块 

服务提供者首先通过平台提供的数据库映射工具对要共享 

的数据库资源进行映射。该工具将提供两种方式的映射:一是 

将原本存在的元数据信息如:表名、列名、主、外键等,映射成为 

虚拟的信息,并将对应关系提交至平台的服务注册中心数据库, 

由平台进行统一维护。当原始信息或映射关系有变化时,由服 

务提供者提出申请,平台可根据该申请修改数据库中的信息。 

同时平台通过资源发布模块将服务器端提供的虚拟元数据信息 

提供给客户端,因此客户端将不会看到原始的元数据信息。二 

是针对OGSA.DAI 4.0的新特性,平台将提供SQL视图资源的 

发布服务。服务提供者先通过配置工具将本地数据库发布为一 

个数据资源,然后再根据这个数据资源填写映射关系,并发布一 

个对应的视图数据资源。随后将该视图资源通过服务注册模块 

发布出去。由此,客户端将只针对视图资源进行操作。 

进行虚拟映射和视图资源对数据共享的特性进行了以下几 

个方面的扩展:安全性,可以很好地隐藏服务提供者的数据细节 

第1期 吴一民等:OGSA—DAI 4.0在科学数据共享平台中的应用 133 

信息,有助于原始数据的保护;可操作性,可以对表名、列名等不 

利于理解的字符进行转义,方便客户端的访问与操作;灵活性, 

可以通过不同的方式,将同一个数据库映射为不同的数据资源, 

并提供给不同的用户。 

资源发布模块的另一个重要功能是访问权限控制。针对发 

布出去的每一个数据资源,服务器端都可以为其设置访问权限。 

同时,平台还必须根据各数据库资源的虚拟映射信息,将用 

户查询的视图转换为对应的原始元数据信息进行查询,然后再 

将结果转换回虚拟信息显示给用户。 

4结语 

当客户端访问该资源时,将会根据其证书寻找对应权限进行对 

应操作。通过这种控制,服务器端可以控制每个用户的访问权 

随着各科研机构拥有数据资源数量的扩大,信息孤立现象 

愈加明显,加强科学数据资源的共享与集成的重要性已逐渐显 

限,加强了对数据资源的保护。 

3.3安全控制模块 

OGSA-DAI本身并没有提供安全访问的机制。为了保证数 

据网格的安全性,我们采用基于Globus的OGSA—DAI 4.0版本 

以及Globus 4.2.0来搭建网格环境,并利用Globus提供的GSI 

进行全局的安全访问控制。本文主要是介绍以X.509证书为 

基础的安全认证系统的构建。安全控制模块结构如图3所示。 

图3安全控制体系结构 

安全控制模块包括如下功能:生成可信任的CA;为用户申 

请并签发证书;管理证书信息;更新申请与撤销列表。 

模块的工作流程如下:首先由CA生成自签名根证书,并成 

为网格环境中可信任的证书颁发机构。任何加入网格环境的用 

户必须先向数据共享平台提出证书申请,并经由CA的签名,才 

能访问服务器端提供的数据。当用户提交自己的基本信息,并 

得到管理员的审核之后,平台会为该用户生成证书申请,并将该 

申请交给CA签名。随后平台将已签名的证书以及用户私钥通 

过邮件或下载等方式发回给用户。 

同时平台还必须负责提醒和实现用户对即将到期的证书进 

行更新,负责处理用户对证书的撤销请求,生成和维护证书申请 

列表和证书撤销列表。 

3.4集成访问模块 

集成访问模块的设计目标是将各个服务器提供的数据库资 

源汇集起来,对外提供统一的接口,使得用户在查询或访问数据 

时好像只是在操作一个数据库。 

模块设计时采用两种方案:第一种是将各数据库按照资源 

描述以及元数据信息进行分类,然后针对每一类别向外提供统 

的查询接口,用户通过该接口提交查询请求。查询请求经过 

分解、组装后,针对类别下的各数据库映射为不同的SQL语句 

进行并行查询,最后再将各数据库的查询结果进行汇总,以统一 

的格式返回给用户。第二种是使用OGSA-DAI 4.0提供的DQP 

(Distributed Query Processing)功能进行集成。DQP允许客户端 

针对服务器上发布的不同关系数据库进行分布式查询。服务端 

先将各关系数据库发布为数据资源,然后将它们整合为一个 

DQP资源提交给平台,并通过服务注册中心发布,随后客户端 

即可按照该DQP资源提供的描述信息进行查询。平台会将用 

户的查询请求转换为符合DQP所支持语法的SQL语句对该 

DQP资源进行查询,查询与结果获取方式与普通关系数据库资 

源相同。由于目前版本DQP的功能限制.此种方案只能用于关 

系数据库的查询操作。 

露。针对数据的地域性、存储结构差异等现实情况,使用面向服 

务的方法共享数据已成为一个很好的选择。OGSA-DAI即采用 

面向服务的思想,通过将异构数据资源封装为网格服务来构建 

数据网格,实现数据的集成访问与操作。同时作为网格基础设 

施的Globus提供GSI以保证数据网格的安全性。 

目前在国内外已有不少基于OGSA—DAI的项目,如美国的 

国家虚拟天文台和中国的科学数据网格等,并且已取得了很大 

的进展。目前本文提出的科学数据共享平台已实现了屏蔽异构 

数据的目标,通过建立服务注册中心对各数据提供者提供的数 

据进行集成,并为使用者提供了统一的访问和查询接口,同时使 

用X509证书对用户进行身份认证,保证了数据的安全性。相 

信随着OGSA-DAI和其他数据网格架构的发展与进步,平台在 

功能和性能方面还将会具有很大的提升空间。 

参考文献 

[1]中华人民共和国科学技术部+科学数据共享概念与术语[s]. 

2005:1—3. 

[2]罗坤.基于网格环境下的Globus项目的安全技术研究[J].软件 

导刊,2009,8(3). 

[3]张健,叶建栲.基于Globus Toolkit 4的网格服务的实现[J].计算 

机与现代化,2008(9). 

[4]刘素芹,何旭莉,孟令芬,等.基于Globus的网格安全认证模型的 

研究与实现[J].计算机工程与设计,2008,29(22). 

[5]刘建新,阎保平.OGSA-DAI体系结构及其关键技术研究[J].计 

算机应用,2004,24(11). 

[6]傅鹂,谭柯.基于OGSA・DAI的政府信息共享平台[J].重庆工学 

院学报,2008,22(12). 

(上接第124页) 

真实性与实时性问题,增强了虚拟驾驶的沉浸感,可以较好地应 

用于虚拟驾驶视景仿真系统。 

参考文献 

[1]徐文.计算机图形学[M].北京:北京机械出版社,1993. 

[2]马登武.基于包围盒的碰撞检测算法综述[J].系统仿真学报, 

2006,18(4):1058—1064. 

[3]Gottschalk,Stefan.Collision Queries Using Qrientented Bounding Box 

[J].Depatment of Computer Science,1992,4(7):2542. 

[4]Moor M,Wilhelmx J.Collision Detection and Response for Computer 

Animation[J].Computer Graphics,1998,22(5):1082. 

[5]Tomas M.Fast Trangle2Trangle Intemection Test[J].Journal of Graph. 

ies Tools,1997,2(2):1202. 

[6]Tomas M.Fast 3D Trangle2Box Overlap Testing[J].Journal of Graph— 

ics Tools,2002,6(1):2923. 

[7]Pottmann H,Wangner M G.Helix Splines as an Example of Mfine Tche. 

bychefian Splines[J].Advances in Computational Mathematics,1994. 

2(1):232.