(计算机应用技术专业论文)基于网格的数据整合的研究和实现.pdf_第1页
(计算机应用技术专业论文)基于网格的数据整合的研究和实现.pdf_第2页
(计算机应用技术专业论文)基于网格的数据整合的研究和实现.pdf_第3页
(计算机应用技术专业论文)基于网格的数据整合的研究和实现.pdf_第4页
(计算机应用技术专业论文)基于网格的数据整合的研究和实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)基于网格的数据整合的研究和实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 iii 基于网格的数据整合的研究和实现 摘 基于网格的数据整合的研究和实现 摘 要要 随着计算机技术的不断发展,目前在数字化大学的建设过程中针 对各种应用需求已经建立起来了许多业务系统,这些系统的建立对 教学、办公等活动起了很好的促进作用,极大的提高了工作效率。 但这些先前开发的业务系统由于技术上、需求上、时间上的原因, 都是根据各自的具体应用而展开的。这种围绕某一项业务工作,分 散开发的应用系统,一般不会考虑数据标准和信息共享的问题。而 且由于应用系统的开发平台、运行环境的不同,使用的数据库各异, 从而导致了这些系统之间交互数据比较困难,形成了相互独立的信 息孤岛。 数据交换和中心数据库等方法没有很好的满足不断变化的需求, 数据整合就是在对当前存在的分布异构的数据源进行整合,提高数 据的利用率,提高系统之间信息共享、信息交换、信息服务、信息 决策的能力。数据整合的目标有两个: (1)提供易于访问的数据访问方式,实现各个业务系统之间数据的 全面共享; (2)通过整合各个业务系统向上提供一体化的主题数据服务,并且 可以通过单一的访问点访问所有的主题数据。 本文分析了网格技术在分布异构数据整合中的应用,提出了一种 基于网格的数据整合框架,通过 ogsa-dai 中的数据服务封装各个 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 iv 分布的数据库,从而灵活的达到了数据整合的目标。并且通过实验 获得了较好的效果,证明了上述方法的正确性。 关键词关键词 数据整合,网格,ogsa-dai,数据服务 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 v research and implementation of data integration based on grid abstract with the development of the computer technology, many applications have been developed in the process of building digital campus. these applications facilitate teaching and official business and improve the efficiency of work. however, with the limitation of technology, requirement and time, all of the applications just focus on their own business. in this way, the applications dont consider the problem of data standard and information sharing very well. moreover, because of the difference of development environments, execution environments and back-end database, it is difficult to share information between them. it results in information island. the approaches of data exchange and data warehouses fail to meet the requirements of constantly changing needs of data integration. data integration focus on the integration of data resource under distributed heterogeneous environment to improve the ability of information sharing, information exchange, information service and information decision- making. data integration has two aims: (1)provide an easy way to access data to implement the sharing among all 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 vi of the applications. (2)through integration of all applications, provide more professional data for the up level and a single sign-on information portal. this paper analyses the application of grid technologies in the data integration under distributed heterogeneous environment and then proposes a framework of data integration based on grid. through the method of constructing grid data service which encapsulating distributed heterogeneous database to achieve the aims of data integration in a flexible way. the experiment is successful which prove this framework. key words: data integration, grid, ogsa-dai, data service 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 i 上海交通大学 学位论文原创性声明 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研 究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人 和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本 人承担。 学位论文作者签名:尹畅文 日期:2006 年 1 月 20 日 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 ii 上海交通大学 学位论文版权使用授权书 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密保密,在 年解密后适用本授权书。 本学位论文属于 不保密不保密 。 (请在以上方框内打“” ) 学位论文作者签名:尹畅文 指导教师签名:董传良 日期:2006 年 1 月 20 日 日期:2006 年 1 月 20 日 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 1 第一章 绪论 1.1 引言 第一章 绪论 1.1 引言 目前在数字化大学的建设过程中针对各种应用需求已经建立起来了许多业 务系统,如学生信息系统、教学系统、选课系统等等,这些系统的建立对教学、 办公等活动起了很好的促进作用,极大的提高了工作效率。 但这些先前开发的业务系统由于技术上、需求上、时间上的原因,都是根 据各自的具体应用而展开的。这种围绕某一项业务工作、分散开发的应用系统, 一般不会考虑数据标准和信息共享的问题。而且由于应用系统的开发平台、运 行环境的不同,使用的数据库各异,从而导致了这些系统之间交互数据比较困 难,形成了相互独立的信息孤岛。也就是说数据以不同的格式分散存放在不同 的数据库、不同的系统中,很难把它们集中起来进行分析和展现,查找和处理 数据需花费大量的时间和人力,有效信息的整理和传递工作比以往任何时候都 要困难,系统多样、信息分散等问题也更为突显。例如,由于学生信息得不到 很好的共享,有些时候我们在不同的部门要填写重复的表格。这种情况影响了 工作效率的进一步提高,不能满足学校的教学、科研等建设需求。 考虑到开发时间、开发成本以及技术难度等因素,抛弃现有的各种系统, 开发一个完全共享的新的系统是不现实的。况且这没有从根本上解决数据整合 的问题,对于系统的扩展也很不利,像这样重新建立的系统又会成为一个信息 孤岛。数据整合就是从这种需求出发,在对已有的信息或数据进行整合,提高 信息数据的利用率,提高系统之间信息共享、信息交换、信息服务、信息决策 的能力。数据整合的目标有两个: 1. 提供易于访问的数据访问方式,实现各个业务系统之间数据的全面共享; 2. 通过整合各个业务系统向上提供一体化的主题信息服务,可以通过一个 单一的访问点访问所有的主题信息。 网格是一个新出现的概念, 代表了一种先进的技术和基础设施, 是继 internet 之后又一次重大的科技进步1。网格是在网络虚拟环境上实现对计算、存储、 通信、软件、信息等资源的资源共享和协同工作。网格技术可以分为计算网格 (computational grid)、信息网格 (information grid)、知识网格(knowledge grid)、 数据网格(data grid)等等。随着网格技术的发展,如何把网格技术应用在数据整 合中已经成为了一个研究热点。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 2 1.2 目前国内外的数据整合技术1.2 目前国内外的数据整合技术 1.2.1 直接进行数据交换1.2.1 直接进行数据交换 这种方法就是使用一些数据转换工具,如 sql server dts 等,通过对每一 对要共享的数据源编写数据交换的代码,直接实现不同数据源间的数据交换。 这种做法的缺点就是不灵活,通常要通过人工方式处理,没有实现自动化;扩 展性不强,当系统要整合新的业务系统时又要设计新的转换方案。如果 n 个业 务系统间要交换数据,相应就要有 n(n-1)/2 个两两数据交换系统。 1.2.2 建立中心数据库1.2.2 建立中心数据库 中心数据库12就是一个数据仓库,它存放从多个数据源中抽取的数据。通 过将各个业务系统中的需要共享的数据抽取到中心数据库上,以中心数据库这 样一个中介,来实现业务系统之间的数据共享、交换,并可以向上提供主题服 务,这是一种目前比较常用的方法。 业务系统 业务系统 中心系统 图 1-1 基于中心数据库的数据整合 figure 1-1 data integration based on data warehouses 图 1-1 给出的是一个中心数据库的示例:两个小的库为需要整合的业务数据 库,大的库为中心数据库,虚线表示数据的抽取过程,业务系统通过访问中心 数据库来实现数据的共享。但是这种做法需要一个额外的中心数据库,并且在 中心数据库与业务数据库之间的数据抽取转换、数据同步等方面带来复杂度和 性能问题,并且同样存在扩展性不强的缺点。 1.3 本文解决的主要问题及组织结构1.3 本文解决的主要问题及组织结构 本文主要研究以关系数据库存储的数据资源在网格环境中的数据整合机 制,研究通过 ogsa-dai 中间件将分布、异构数据源发布成数据服务的方式, 提出了基于网格的数据整合框架,并且构建了一个原型系统。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 3 本文的组织结构如下: 1 介绍了课题的研究背景,主要解决的问题以及使用的技术等。 2 介绍了基于网格的数据整合相关的比较前沿的技术、规范和标准。 3 介绍了数据整合中的关键网格技术 ogsa-dai, 详细介绍了将数据库发布成 数据服务的机制和方法。 4 介绍了基于网格的数据整合系统的具体的开发过程和实现的主要功能。 5 总结全文。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 4 第二章 基于网格的数据整合的主要技术和概念 2.1 xml 第二章 基于网格的数据整合的主要技术和概念 2.1 xml 2.1.1 xml 简介2.1.1 xml 简介 xml 是 extensible markup language(即可扩展的标记语言)的缩写37。 xml 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以 标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、 结构化的标记语言的句法语言。xml 除了标签之外,还具有强大的可扩展性- xml不但是标记语言, 而且是可扩展的(extensible)标记语言。 xml并非象html 那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个 标准,你可以根据实际需要定义自己新的标记语言,并为你的这个标记语言规 定它特有的一套标签。准确的说,xml 是一种源标记语言,它允许你根据它所 提供的规则,制定各种各样的标记语言。这也正是 xml 语言制定之初的目标 所在。xml 是 sgml 的一个子集,本质上是一种特殊的 sgml 标记语言,它 继承了 sgml 的优点,并对 sgml 进行了很大的改革,目前 xml 已经是一门 十分流行的语言。在语言的简单性方面可以和 html 相媲美,是 internet 的下 一代语言。 xml 给表示数据提供了很大的灵活性。xml 作为一种标记语言,它具有 很多良好的性能特点: (1)简单性。xml 经 过 精心设计,整个规范简单明了,它由若干规则组成, 这些规则可用于创建标记语言,并能用一种常常称作分析程序的简明程序处理 标记语言。xml 为程序员和文档作者提供了一个友好的环境。xml 的严格定 义和规则集使人类和计算机都能更容易地阅读文档。xml 文档语法包含一个非 常小的规则集,使开发者能立刻开始工作。xml 能创建一种任何人都能读出和 写入的世界语。 (2)开放性。xml 标准在因特网上是完全开放的,可以免费获得。xml 文 档自身也较为开放,任何人都可以对一个结构良好的 xml 文档进行语法分析, 如果提供了 dtd,还可以校验这个文档。xml 并不禁止创建私有格式,但它 的开放性是它最大的优点之一。由于 xml 的开放性,使它便于不同系统之间 信息的传输。在数据整合中,不同业务领域、不同部门中存在着许多不同的系 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 5 统。操作系统各异,并且数据库系统也各不相同。要想在这些不同的平台、不 同的数据库软件之间传输信息,不得不使用一些特殊的软件,这样非常不方便。 现在通过 xml,各种不同系统之间可以采用 xml 作为交流媒介。 (3)可读性。即便对于一个预先对定义的 xml 标记一无所知的人,xml 文 件也是简单易读的, 而且可以标注各种文字、 图像甚至二进制文件, 只要有 xml 处理工具,就可以轻松地读取并利用这些数据。文件中严格的层次结构使信息 之间的某些复杂关系,比如树状结构、继承关系,都得到了绝好的体现。 (4)可扩展。xml 在两个意义上是可扩展的。首先,它允许开发者创建他们 自己的 dtd,有效地创建可被用于多种应用的“可扩展的”标志集;其次,使用 几个附加的标准,可以对 xml 进行扩展,这些附加标准可以向核心的 xml 功 能集增加样式、链接和参照能力。作为一个核心标准,xml 为可能产生的其他 标准提供了一个坚实的基础。 (5)标准化。也就是说 xml 具有一个标准,且支持世界上大多数文字。这 源于依靠它的统一代码的新的编码标准,这种编码标准支持世界上所有以主要 语言编写的混合文本。在 html 中,就大多数字处理而言,一个文档一般是用 一种特殊语言写成的,不管是英语,还是日语或阿拉伯语,如果用户的软件不 能阅读特殊语言的字符,那么他就不能使用该文档。但是能阅读 xml 语言的 软件就能顺利处理这些不同语言字符的任意组合。因此,xml 不仅能在不同的 计算机系统之间交换信息,而且能跨国界和超越不同文化疆界交换信息。 2.1.2 解析 xml 文档2.1.2 解析 xml 文档 为了有效的使用xml,我们必须通过编程来访问数据。xml文档本身节点 是一种由若干节点组成的属性结构储,同时也有利于面向对象语言节点程序开 发人员访问一个,这种特点使得数据更适宜于用面向对象的语言来存取。比如 当用c+, java等调用xml应用程序接口访问xml文档的内容时,必须通过xml 语法分析器来实现。xml分析器实际上是一个对xml文档进行语法分析的中间 件,应用程序通过分析器的接口,实现对xml文档的识别与访问。如果不同的 分析器各自定义不同的接口,那么会给xml应用程序的开发带来很大的不便, 因此,面向xml文档的应用开发需要一个统一的xml数据接口。xml应用程 序接口用于对xml文档的解析、定位和查询,目前技术包括xmldom和sax。 本文设计的原型系统使用java来分析xml文件。java中处理xml文档的标 准api主要有两种-dom和sax。dom的全称是document object model,即文 档对象模型。sax的全称是simple apis for xml,即xml简单应用程序接口。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 6 dom dom dom是一种的接口规范,是比较复杂的api,将xml文档表示成数型结构。 与sax不同,dom是读写api,可以分析现有xml文档和生成新xml文档。每 个xml文档表示为一个document对象。搜索、查询和更新文档时,调用这个 document对象及其所包含对象的方法。这样就使dom更适合随机访问原文档中 的各个不同部分。但是,dom比sax所需的内存量大得多,也不太适合流式应 用程序。 xml实 际上是将数据组织为一棵树,dom解析xml的原理就是对这棵树 的对象描述。换言之,就是通过解析xml文档,为xml文档在逻辑上建立一个 树模型,树的节点是一个对象。通过存取这些对象就能存取xml文档的内容。 dom的基本接口有5个:document, node, nodelist, element和attribute。下面分别 介绍: document: document接口代表了整个xml/html文档,因此,它是整个文 档树的根,提供了对文档中的数据进行访问和操作的入口。由于元素、文本节 点、注释、处理指令等都不能脱离文档的上下文关系而独立存在,所以在 document接口提供了创建其它节点的方法,通过该方法创建的节点对象都有一 个二个document属性,用来表明当前节点是由谁所创建的以及节点同document 之间的联系。 node :node接口在整个dom树中具有举足轻重的地位,dom接口中有很大 一部分接口是从node接口继承过来的,例如,element等接口,都是从node继 承过来的。在dom树中,node接口代表了树中的一个节点。node接口提供了 访问dom树中元素内容与信息的途径,并给出了对dom树中进行遍历的支持。 nodelist: nodelist接口提供了对节点集合的抽象定义,它并不包含如何实 现这个节点集的定义。nodelist用于表示有顺序关系的一组节点,比如某个节 点的子节点序列,它还出现在一些方法的返回值中,例如getnodebyname。在 dom中,nodelist的对象是动态的,就是说对文档的改变会直接反映到相关的 nodelist对象中。如果通过dom获得一nodelist对象,该对象中包含了某个 element节点的所有子节点的集合,那么,当再通过dom对element节点进行操 作时,这些改变将会自动的反映到nodelist对象中,而不需dom应用程序再做 其它额外的操作。nodelist中的每个节点都可以通过一个索引来访问,该索引 从0开始。 sax sax sax是事件驱动api。sax是接口建模分析器、读取文档的流和从分析器接 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 7 收数据的客户应用程序。分析器通过回调接口将内容提供给客户应用程序,这 样就使sax速度很快,内存效率很高(不必在内存中存储整个文档)。但是sax 很难设计和编码, 需要针对各个xml建立自己的数据结构来保存文档内容。 sax 特别适合“局部”处理,也就是一次处理一个元素。sax与dom不同,提供了 一种对xml文档进行顺序访问的模式,这是一种快速读写xml数据的方式。当 使用sax分析器对xml文档进行分析时,会触发一系列事件,并激活响应的事 件处理函数,从而完成对xml文档的访问,所以sax接口也称作事件驱动接口。 sax接口解析xml文件的主要过程为:首先获得一个实现了sax接口的解析器, 这个解析器通常是由第三方软件公司提供的,然后自己写一个符合sax标准的 处理器类,并且把这个类注册到刚刚做好的解析器,解析xml文件。解析器从 头到尾读取文档,在此过程中解析器会把xml文件作为一个流读出来,然后再 把文件流转换成一个事件流,这个事件流中的内容包括“文档开始”、“文档 结束”、“元素开始”、“元素结束”等。解析器通过调用contenthandler对象 中的方法告诉客户应用程序看到了什么,根据事件调用注册到解析器里的处理 器里面的相应的方法,在解析器进行xml文件解析的同时,应用程序可以回调 注册的contenthandler对象中的方法,对解析器的行为进行控制或获取解析器的 状态。 2.2 web 服务2.2 web 服务 2.2.1 web 服务简介2.2.1 web 服务简介 web服务是网格服务的基础,也是ogsa和ogsi的关键技术。理解web服务 的架构是开发网格应用程序的基础,因此我们先来了解一下web服务。 web服务是一种面向服务的体系结构22,其突出优点是实现了真正意义上 的平台独立性和语言独立性。一个web服务就是一个可以被uri识别的软件应 用,它的接口和绑定可以被xml描述和发现,并且可以通过基于internet的协议 直接支持与其他基于xml消息的软件应用的交互。这就意味着所有客户机都可 以使用internet进行远程过程调用操作。 虽然web服务很大程度上依赖现有的web 技术,比如http,但而web服务更多的是为软件服务的,与普通的通过web浏 览器浏览html并不相同。web服务的体系结构不管在一个web服务交互过程中 底层使用的什么技术,它所采用的基本的角色都遵循通用模式。在底层,一个 服务消费者希望从服务提供者那里得到服务。如果服务消费者己经知道了一个 合适的服务提供者,它会直接与这个服务提供者联系并且把自己绑定到提供的 服务接口上。但是,通常情况下,并不是消费者来确定一个合适的提供者满足 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 8 它的要求。而是服务提供者向第三方发布一个提供的服务的描述,这个第三方 是一个服务代理。消费者只需要确定这些第三方代理之一来发现是否有任何服 务提供者发布了适合它要求的服务描述既可。图2-1为web服务的结构图: 图 2-1 web服务的架构 figure 2-1 architecture of web service 与web服务30有关的操作主要有以下三种: (1)发布。服务提供者需要首先将服务进行一定描述并发布到注册服务器上。 在发布操作中,服务提供者需要通过注册服务器的身份验证,才能对服务描述信息 进行发布和修改。 (2)查找。服务请求方根据注册服务器提供的规范接口发出查询请求,以获 取绑定服务所需的相关信息。在查找操作中,一般包含两种查找模式:一种是浏览 模式(browse pattern),即服务请求方可以根据通用的分类标准来浏览或者通过一 些关键字来搜索,并逐步缩小查找的范围,直到找到满足需要的服务,查找结果是 一系列服务的集合;另一种是直接获取模式(drill down pattern),即通过唯一的关 键字直接得到特定服务的描述信息,其查找结果是唯一的。 (3)绑定(binding)。服务请求方通过分析从注册服务器中得到的服务绑定信 息,包括服务的访问路径、服务调用的参数、返回结果、传输协议、安全要求等, 对自己的系统进行相应配置,进而远程调用服务提供者所提供的服务。 web服务的关键技术与网格有关的三个web服务标准分别是:wsdl (web service description language) web服务描述语言;uddi (universal description discovery and integration)通用描述与发现集成和soap (simple object access protocol)简单对象访问协议8。 在客户端调用一个web服务的过程中,首先要通过与uddi注册点联系来寻 找满足要求的web服务的位置. uddi提供了可查询的已经注册的、web服务的 索引。并通过wsdl言描述这个web服务的接口和访问方法。接下来,客户端 uddi registry service provider web services application service requester publish find bind 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 9 通过发送soap消息的方式向这个服务提出请求,服务也以soap消息的形式返 回响应。当然soap可以用一些不同的传送机制。 2.2.2 web 服务的特征2.2.2 web 服务的特征 (1)好的封装性。web服务既然是一种部署在web上的对象,自然具备对象 的良好封装性,对于使用者而言,它只能看到该对象提供的功能列表。 (2)松散混合。这一特征也是对象组件技术,当一个web服务的实现发生变 更的时候,调用者是不会感到这一点的,对于调用者来说,只要web的调用接 口不变,web服务的实现任何变更对他们来说都是透明的,甚至当web服务的 实现平台从不同的操作系统上迁移或在不同的中间件上迁移,用户都可以对此 一无所知。对于松散祸合而言,尤其是在因特网环境下的web服务而言,需要 一种适合异构环境的消息交换协议。而xml+soap正是目前最为合适的消息交 换协议。 (3)协议的规范性。这一特征从对象而来,但相比一般对象界面规范更加规 范化和易于机器理解。首先作为web服务,对象界面所提供的功能应当使用标 准的描述语言来描述(wsdl),由标准描述语言描述的服务界面应当是能够被发 现的,因此这一描述文档要被存储在私有的或公共的注册表里面。同时,使用 标准描述语言描述的使用协议将不仅仅是服务界面,它将被延伸到web服务的 聚合、跨web服务的事务、工作流等,而这些又都需要有服务质量(qos) 的保 障。其次,安全机制对于松散混合的对象环境是很重要的,因此需要对诸如授 权认证、数据完整性、消息元认证以及事务的安全性等运用规范的方法来描述、 传输和交换。 作为web服务,其所有公共的协议完全需要使用开放的标准协议进行描述、 传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一 般而言,绝大多数规范将最终由w3c或oasis作为最终版本的发布方和维护方。 (4)高度可集成能力。由于web服务采取简单的、易理解的标准web协议作 为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是 corba、dcom还是j2ee都可以通过这一种标准的协议进行互操作,实现了在 当前环境下最高的可集成性。 当然,web服务也存在着缺点:xml中的数据没有定义好的二进制的代码 效率高。在赢得通用性的同时降低了效率;用途狭窄。不像corba提供给开发 者很多像持续服务、通知、生命周期管理这样的服务。网格服务可以在包含web 服务所有优点的基础上弥补他的不足,这也正是网格技术兴起的原因。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 10 2.2.3 soap2.2.3 soap 简单对象访问协议(soap,simple object access protocol)32是分散或分布 式的环境中厂通过xml交换信息的一种简单协议。为了实现交换信息的目标, soap使用xml对它的有效负荷进行编码。web服务是有关机器间和应用程序 间透明通信的、借助于web的标准的具体实现。而soap正是实现web服务的核 心协议之一。 soap为 在一个松散的、分布的环境中使用xml对等的交换结构化和类型 化的信息提供了一个简单的轻量级机制。soap本身并不定义任何应用语义,如 编程模型或是特定语义实现,它只是定义了一种简单的机制,通过一个模块化 的包装模型和对模块特定格式编码的数据重编码机制来表示语义。soap也没有 定义任何底层的传输协议,尽管在大部分情况下,soap被默认绑定到http协 议,但您可以用http, ftp, smtp等等,或者是您自己定义的某种p2p协议来传 输soap协议。 从某种意义上讲,soap可以简单理解为http+xml+rpc-采用http作为 底层通信协议,rpc作为一致性的调用途径,xml作为数据的传送格式,允许 服务提供者和服务客户经过防火墙在internet进行通信交互。soap被设计的主 要目的,就是为了实现基于xml的rpc (remote procedure call,远程过程调用)。 尽管http不是有效率的通信协议,而且xml还需要额外的文件解析,两者使 得交易的速度可能大大低于其它方案;但是xml是一个开放、健全、有语义的信 息机制, 而http是一个广泛又能避免许多关于防火墙的问题, 从而使得soap 得 到了广泛的应用。 2.2.4 wsdl2.2.4 wsdl wsdl( web services description language)29即是web服务描述语言, wsdl定义了一种xml语法,将网络服务描述为能够进行消息交换的通信端点 的集合.wsdl文档将服务定义为网络端点或端口的集合。在wsdl中,由于端 点和消息的抽象定义已从具体的网络或数据绑定中分离出来,因此可以对抽象 定义进行再使用:消息, 支持交换数据的抽象描述;端口类型, 指操作的抽象集合。 用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将 网络地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定 义为服务。许多标准绑定的惯例是描述怎样使用wsdl关联soap1 .1, http get/post和mime。因此,wsdl文档在网络服务的定义中使用下列元素: types: 数据类型定义的容器,它使用某种类型系统。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 11 messages: 通信数据的抽象类型化定义。 operation: 对服务所支持的操作的抽象描述。 porttype: 操作的抽象集合,这些操作由一个或多个端点支持。 binding: 特定端口类型的具体协议和数据格式规范。 port: 定义为绑定和网络地址组合的单个端点。 service: 相关端点的集合。 2.3 网格计算技术2.3 网格计算技术 网格是一个新出现的概念, 代表了一种先进的技术和基础设施, 是继 internet 之后又一次重大的科技进步。网格是借鉴电力网(electric power grid)的概念提 出来的3。网格是一个集成的计算与资源环境,或者说是一个计算资源池。网 格能够充分吸纳各种计算资源,并将它们转化为一种随处可得的、可靠的、标 准的同时还是经济的计算能力。除了各种类型的计算机,计算资源还包括网络 资源、存储资源、仪器设备,还有数据整合中的数据资料6。 通过计算来解决问题已经成为一种重要的解决问题的方法和手段,而且目 前大量的问题的解决,只有网格提供的能力可以满足要求。相关技术的发展为 网格的出现奠定了基础,可以满足网格的要求。网格可以有广泛的应用领域, 几乎各种人群都可以利用网格来解决面临的各种问题,网格具有很大的发展潜 力,开发网格技术、建设网格、发展网格,已经成为当前的热点研究。 网格已经应用与很多实际项目中,比如以数据密集型问题的处理为核心的 数据网格,以解决科学问题为核心的科学网格13,地球系统网格14(整合分 布在各个实验室和研究中心的具有海量信息和分析服务器的超级计算机,为下 一代的气象研究提供一个强大的研究环境。通过 web 的方式提供访问系统的单 一接口) ,以及中国的织女星信息网格17(是中国科学院计算所织女星网格研 究的一个组成部分,它的目的是在数据库技术、因特网技术、网格技术、万维 网服务等技术的基础上研究信息网格的机制和体系结构进而指导信息网格系统 及应用的开发)等等。网格是一种面向问题和应用的技术,随着网格技术的不 断完善和应用领域的不断扩展,网格可以在更多的领域得到应用,发挥更大的 作用。 2.3.1 网格体系结构2.3.1 网格体系结构 网格体系结构就是关于如何建造网格的技术。它给出网格的基本组成与功 能,描述了网格各组成部分的关系以及它们集成的方式或方法,刻画了支持网 格有效运转的机制5。 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 12 到目前为止,比较重要的网格体系结构有两个,一个就是foster等在早些时 候提出的五层沙漏结构,然后就是在以ibm为代表的工业界的影响下,在考虑 到web技术的发展与影响后,foster等结合web service提出的开放网格服务结构 ogsa (open grid service architecture)。 五层沙漏结构 五层沙漏结构 五层沙漏结构是一种影响十分广泛的结构,它的主要特点就是简单,主要 侧重于定性的描述而不是具体的协议定义,因此很容易从整体上进行理解。五 层沙漏结构并不提供严格的规范,它不是对全部所需协议的完整罗列,而是对 该结构中各部分组件的通用要求进行定义,而且将这些组件形成一定的层次关 系,每一层的组件具有相同的特征,上层组件可以在任何一个底层组件的基础 之上建筑。 这个结构从下往上包括:构造层,连接层,资源层,汇聚层,应用层。 开放网格服务体系结构 ogs 开放网格服务体系结构 ogsa 最新的网格体系结构就是ogsa10,它是继五层沙漏结构之后最重要的网 格结构,是global grid forum 4的重要标准建议。ogsa是gt的设计原型,它是 把网格计算技术(globus)与web services技术相结合提出来的技术。ogsa是符 合标准的web services框架的,ogsa吸纳了许多web服务标准,如web服务描 述语言(wsdl)、简单对象访问协议(soap)、轻目录访问协议(ldap)、 web服务探测(ws-inspection)等。这些标准用于定位、调度计算资源并保证 它们的安全。ogsa采用web服务框架的优点是:一方面,通过注册和发现接口 定义和终端实现描述以及动态产生特定接口绑定的代理,在异构环境中能够支 持服务的动态发现和合成。另一方面,由于web服务机制在商业应用领域广泛 采用,ogsa采用web服务框架使人们能够利用许多现有的开发工具和扩展服 务,如产生语言绑定的wsdl处理器。 web services是近年来提出的一种新的面向服务的体系结构,其突出优点就 是实现了真正意义上的平台独立性和语言独立性。同传统的分布式模型相比, web service的主要优势在于:协议的通用性,web service利用标准的internet协 议(如http,smtp)解决面向web的分布式计算;完全的平台、语言独立性, web service进行了更高程度的抽象,只要遵守web service的接口即可进行服务 的请求与调用。在企业中,要求所有参与者都采用同一个基于某种语言和平台 的模型是不现实的。而web service结合面向足见方法和web技术的优势,利用 标准网络协议和xml数据格式进行通信,具有良好的普适性和灵活性,便于实 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 13 现数据集成和数据交换。 ogsa是一个以服务为中心的结构,它在web services的基础上,提出了grid services的概念。因此网格服务也是一种web services,该服务提供了一组接口, 这些接口的定义明确遵守特定的惯例,解决服务发现、动态服务创建、生命周 期管理、通知等问题。web services解决了发现和激活永久服务的问题,但在网 格中,大量的是临时(动态)服务,grid services支持临时(动态)服务实例, 并且能够动态创建和删除。在ogsa中,将一切都看作网格服务,网格可以认 为是可扩展的网格服务集合,可以以不同的方式聚集起来满足虚拟组织的需要。 网格服务接口/行为服务数据。 图 2-2 网格服务的简单描述 figure 2-2 simple description of grid service ogsa目前定义的接口包括,括号内的表示这个接口支持的操作: (1)gridservice ( findservicedata ,setterminationtime , destroy) 查询网格实例的各种信息,设置网格实例的终止时间,终止网格服务实 例。 (2)notificationsource(subscribetonotificationtopic ,unsubscribetonotificatio ntopic) 向相关事件的通知发送者进行登记,取消登记。 (3)notificationsink(delivernotification) 异步发送消息。 (4)registry(registerservice , unregister service ) 网格服务句柄的软状态注册,取消注册的网格服务句柄。 (5)factory ( createservice ) 创建新的网格服务实例。 (6)primarykey(findbypromarykey ,destroybyprimarykey) 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 14 返回创建的网格服务句柄,撤销网格服务实例 (7)handlemap (findbyhandle) 返回与网格服务句柄相联系的网格服务实例。 其中只有gridserivce接口是必需的,而其它的接口都是可选的。一个网格服 务实现一个或多个接口,每一个接口定义一些操作,这些操作通过定义好的一 系列消息来激活。网格服务接口和wsdl的porttypes相对应,网格服务提供 porttypes的集合。 通过这些接口或这些接口的组合主要可以实现一下几个操作: (1)发现(discovery) 。应用程序发现可用服务,了解服务的特性,进一步使用这 些服务。标准服务数据表示通过gridservice 类提供;findservicedata 操作提供 查找服务功能;registry 接口存储网格服务实例信息;handlemap接口负责从句柄 (handle) 到引用(reference) 的映射。 (2)动态服务创建(dynamic service creation) 。factory接口负责网格服务实 例的动态创建。 (3)生命期管理(lifetime management) 。 动态服务需要有生命期的控制。 osga 通过销毁(destroy) 和设置终止时间(setterminationtime) 两个操作来控制,其中, 终止时间被称作是网格服务实例的软状态(soft state) 生存期管理。软状态协议 允许在远端创建状态,如果有保持存活(keepalive) 消息不断发送来,状态被不断 保留;如果过了终止时间没有收到保持存活消息,服务实例被自动终止。 (4)通知(notification)。被多个分布式服务用来互相异步通知感兴趣的状态修 改。 2.3.2 globus toolkit2.3.2 globus toolkit globus toolkit31是globus项目21开发的工具包,它可以应用于网格的开 发,因此首先介绍一下globus项目。globus项目是目前国际上最有影响的与网 格计算相关的项目之一,是美国argonne国家实验室的研发项目,在初始阶段, 有十多所大学和研究机构参与了该项目的研究工作,它的最初目标是希望把各 个高性能计算中心通过高性能网络连接起来,方便大学和研究机构的使用,提 高高性能计算机的使用效率。随着对globus项目的深入研究,针对它的目标也 进一步扩展,希望通过globus项目可方便的对地理上分布的研究人员建立虚拟 组织, 进行跨学科的虚拟合作。 目前globus项目把在商业计算领域中web services 技术融合在一起,能够对各种商业应用进行广泛的、基础性的网格环境支持, 实现方便的信息共享和互操作。 在网格计算环境中,所有可用于共享的主体都是资源(包括计算资源、存 上海交通大学硕士学位论文 基于网格的数据整合的研究与实现 15 储资源、 数据资源、 一起设备等等) 。 globus提出了虚拟组织(virtual organization) 的观点,大型应用项目应该由许多组织协同完成,这些组织通过网格计算环境 形成一个统一的虚拟组织,网格计算环境中的用户、成员、资源可随时加入虚 拟组织。在网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论