基于Oracle 10G的桌面网格平台构建

  • 格式:pdf
  • 大小:286.90 KB
  • 文档页数:5

第7卷第24期2007年9月 1671-1819(2007)24-6441・05 科学技术与工程 Science Technology and Engineering Vo1.7 No.24 Dec.2007 @2007 Sci.Tech.Engng. 

基于Oracle 10 G的 桌面网格平台构建 

祖悦党德玉 

(东北电力大学计算机科学与技术研究生学院,吉林132012) 

摘要在实际应用中,网格技术由于研究平台、工具等的限制,目前基于多应用的网格平台还没有得到很好的发展。利用 Oracle 10G的网格组件,结合Web Service技术构建Windows下的网格平台GPBO,打破以往网格平台应用的限制,以获取高稳 

定性和高可用性。提出了GPBO平台的模型和GPBO平台工作的具体机制,对故障切换和任务传送的Web Service方法做了 具体介绍,并由实验数据的加速比标准说明GPBO可获得的高性能和GPBO与其他网格平台的不同之处。 关键阋网格 Oracle 10G 故障处理 weh Service 加速比 中图法分类号TP319; 文献标识码A 

互联网的发展的同时带动了网格技术的发 展¨ ]。当前流行的网格平台旨在提供一种共享被 

高度控制的系统。这样的系统对于小规模的网格 

应用还存在很多的问题 : 1)网格平台多基于特定的应用,如生物工程、 

医药、数据库技术、资源检索等。用户级的小规模 

应用并没有进行推广。 

2)对于Internet,异构环境下的组件问通信机制 

缺乏互操作性,不能很好的解决网络间的跨网络通 

信问题。 3)系统耦合性强,难以适应松散耦合系统的集 

成。Internet上系统的空闲资源,特别是CPU资源 

没有得到整合。 

4)一些相关技术难以实现具体的网格功能。 

P2P系统中的实体既作为服务器又可作为客户 

端,该系统不存在一个集中控制的实体,各实体是 

对等的。当前P2P系统在搜索定位、文件共享等方 

面的研究和系统实现居多,但在空闲资源管理系统 

中还没有真正实现P2P。 

Web Service适应数据的访问存取代理,但对线 

2007年5月9日收到 第一作者简介:祖悦(1982一),女,硕士研究生,研究方向:高 性能计算,网格。E・mail:zuyue1982@hotmail.corn。 通信作者简介:党德玉,男,教授,硕士研究生导师。 程级的任务处理还没有很好的应用。 

5)Linux被证明为最适合集群的操作系统。 

Globus等网格的专业工具相继推出for Linux版本。 

但是,这些专业工具安装繁琐,使用困难。目前小 

规模用户多为Windows用户群,迫于Linux和网格 

专业工具的技术性,Windows用户群的多应用网格 

还没有得到推广。 

我们可以根据现有的专用网格平台进行扩展, 

取其优势,并将其应用扩展到可供用户分割的多任 

务中去。这样,专用网格平台不再受具体应用的局 

限。桌面系统的开发更利于小用户的安装和使用。 

选择基于Windows的网格平台更利于网格技术的发 

展。Oracle 10G就是一个很好的选择。 

Oracle 10G 允许公司开始将IT朝网格计算 

模型的方向发展。Oracle Database 10g、Oracle Ap- 

plication Server 10g和Oracle Enterprise Manager 10g 

一起提供了第一个完整的网格基础架构软件。 

1 Oracle在网格方面的优势 ,‘】 

Oracle的优势主要体现在: 

首先,体系结构:Oracle具有使所有数据和文档 

存储在少数几个高性能数据库的能力。 

第二,开放:Oracl

e能在所有主要的平台(其中 维普资讯 http://www.cqvip.com 科学技术与工程 7卷 

包括Windows)上运行,并且完全支持所有的工业 

标准。 

第三,可伸缩性:Oracle在簇和可伸缩到其他 

操作系统两个方面提供了优越的可伸缩性。 

第四,安全:Oracle是唯一获得最高认证级别 

的ISO标准认证的数据库。 

第五,性能:根据事物处理委员会(TPC)审查的 

标准与结果,到2005年11月为止,Oracle一直是 

WindOWS NT中钾.C—D和11PC—C标准的世界记录 

保持者。Oracle已被证明,它可以处理最紧迫的数 

据仓库和OLTP应用的工作负载要求。 

但是,Oracle 10G的高性能限于数据的存储和 

处理,如何利用其高性能实现多应用是本文要解决 

的问题。 

由此,我们提出了一个基于Oracle 10G的桌面 

网格平台GPBO的构想。 

作为GPBO系统的门户,我们不必考虑子任务 

处理的节点位置,所需数据的存储位置。我们只需 

让GPBO系统明确我们的计算任务,以及在需要时 

获得必要的信息。作为GPBO系统,可形成虚拟组 

织,其中包括可用的节点的软件资源,可利用的处 

理器、存储器等硬件资源,以及所需要的数据等。 

2业务流程的实现 

2.1网格架构设计 

本文参照开放式网格服务体系结构(Open Grid 

Services Architecture,0GSA),利用网格计算的五个 

基本属性:虚拟化、动态供应、资源集中、自适应系 

统和统一管理,并结合Oracle 10G体系结构,开放 

性,可伸缩,安全,高性能等优点,提出基于Oracle 

10G的GPBO系统模型(图1)。 

2.2具体实现方案 

最终目标:利用Oracle 10G和Web Service结合 

构建网格平台GPBO。 

GPBO系统以Oracle 10G作为底层网格系统, 

于其上开发中间件,实现桌面级多应用网格功能。 

Oracle 10G提供了良好的Java程序接口。利用 图1基于Oracle 10G的GPBO系统模型 

Oracle应用服务器lOg,所开发的GPBO系统应用程 

序可以通过Oracle企业管理器(Oracle Enterprise 

Manager)在网格内的一个或多个GPBO系统进行配 

置和“热部署”。 

图2是GPBO系统的工作流程。 

厂_—— _ 堕至:: :三 

一 ,.. . . :;:j:.. 一 .. . . . .. .. . l! .. . 一一 

图2 GPBO系统工作流程图 l一用户进行任务分割;2一子任务传送;3一保存子任务副本;4一请 求调用DMS进行资源发现;5一返回资源发现结果;6一用户选择或 中间件自动选择资源结果子集;7一对节点计算机发送请求,询问是 否有合适的软件资源,节点计算机对请求做出回应;8一对子任务进 行XML封装;9—传送子任务给节点计算机;lO一故障检测;1l—运 行完成后,传送结果;l2一结果返回 

2.3具体实现步骤 

2.3.1 资源收集 网格的实质是利用网络节点计算机的闲散资 

源。那么需要利用相关技术收集这些闲散在网络 

中的CPU,内存,软件等资源。 

这一方面,可以利用Oracle 10G的网格功能监 

控计算机的性能。Oracle Application Server lOg的 

动态监控服务(DMS)L

4]收集CPU、内存、输入输出 维普资讯 http://www.cqvip.com 24期 祖悦。等:基于Oracle 10G的桌面网格平台构建 6443 

等资源使用情况以及响应时间、每秒的请求数以及 

事务处理吞吐量等性能标准。DMS允许监控处理 

请求的关键阶段的持续时间和状态信息,如任何给 

定的时间内处理的请求数。DMS灵活地提供该方 

法,而且不需要对应用程序做任何更改。 

2.3.2资源选择 

从收集的节点计算机中选择拟进行计算的节 

点子集。在这一阶段,资源的选择可分为两个步骤: 

A.粗略的资源选择可由网格中间件自动完成, 

也可以由用户来进行选择。Oracle 10G网格组件可 

以进行资源的自动选择。选择的节点数需多于子 

用户划分的子任务数,初步设定超额为子任务数的 

1/2。 

B.资源的选择需要考虑节点计算机的软件情 

况。我们希望节点计算机安装了能完成子任务的 

对应软件。任务源GPBO系统做出任务需求软件 

表,并将此表传输给节点GPBO系统进行比对,若匹 

配成功,节点计算机会发出同意接收消息。 

2.3.3任务分割 

将计算任务划分成可并行计算的子任务。这 

一工作可由用户来完成。 

2.3.4任务分配 

利用构建的网格平台,将任务分配到目标计算 

机进行计算。 

首先与目标计算机进行通信,目标计算机的 

GPBO系统会决定是否接收这一子任务文件。一旦 

同意接收,任务源GPBO系统会将用XML封装好的 

子任务传输给目标计算机。目标计算机的GPBO系 

统将解开XML封装,自动运行程序,完成子任务。 

根据相关技术,设置子任务运行优先级为最低。这 

样才能确保在任务运行过程中对用户保持透明性。 

2.3.5故障切换 

对于意外产生的故障所进行的处理。 

对于网格节点计算机的使用者,这些资源的利 

用是完全透明的,所以很有可能出现意外停机,故 

障,或者节点计算机新增负载,致使性能下降等问 

题。这时需要把工作负载切换到另一个活动的集 

群节点。为了提高负载管理的性能,这种切换最好 是自动的,这样总的切换时间可以从几十分钟减少 

到几秒钟,而且不需用户的干预。 

验证结果的正确性:若有足够的节点,可以将 

同一个子任务冗余的分配给多个节点计算机。返 

回结果时,取相似的结果集。 

2.3.6结果返回 

子任务完成后,目标计算机会发出任务完成的 

请求,任务源计算机收到请求后,开始准备接收任 

务结果,并将其合并。 

2.3.7网格各节点之间的通信 

可以由Oracle内部的消息机制来完成,也可用 

Windows编程进行通信和消息处理。 

3关键技术实现 

3.1故障处理 

Oracle 10Gl2 对于工作负载管理特性能提供最 

大程度的可伸缩性和高可用性。Oracle 10G将故障 

监控和应用服务器的通知服务与实际的应用集群 

(RAC) 集成在一起。当一个RAC节点发生故 

障时,应用服务器会收到来自RAC的故障通知事 

件,然后自动地将应用服务器的连接和工作负载切 

换到另一个活动的集群节点。那么就可以确保应 

用程序在尽可能有效地使用计算资源和容量的同 

时以优秀的质量运行。 

对于可能发生的故障,也可以用以下的方法进 

行监控。源计算机GPBO系统在分配子任务之前, 

保存子任务的副本。然后任务源GPBO系统对选定 

的节点计算机做记录,并且在此记录中添加一定数 

量的节点计算机进行补充。在任务实施过程中,源 

计算机GPBO系统每隔一定时问,会轮询各节点计 

算机是否活跃,如果对方计算机发出回应,那么认 

为这台节点计算机在下一次轮询到来之前是活跃 

的。反之,任务源GPBO系统视这个节点是不可用 

的,于是在这次任务结束之前,屏蔽无用计算机节 

点的请求,将本子任务重新分配给另外的节点。 

3.2任务传送 

任务传送通过Web应用组件来完成。RPC协 维普资讯 http://www.cqvip.com