已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)基于escience的抽象科学工作流管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着计算机计算能力的迅速增长,网格计算已经成为分布式计算的重要研究内 容。目前,以网格为基础架构的e s c i e n c e 协同环境下已经集成了大量的计算资源和 数据资源,这些资源大多以网格服务的形式提供给外界使用。然而,由于网格平台通 常只提供某种特有的网格服务,再加上网格平台本身实现机制和调用接口的差异,使 得一个平台内的网格服务很难与另一个网格平台的服务组合使用,从而一定程度上形 成了网格平台间的“资源孤岛。随着网格计算技术在各领域的广泛应用,这种现象 变得日益明显。 科学工作流作为维护协同工作中的网格应用自动化和资源共享的技术,主要关注 如何通过对网格服务的组合定制大规模的科研流程,从而为科学家的发明创造提供一 个很好的辅助工具。通常情况下,一个网格平台提供的科学工作流管理系统只能针对 所属平台下同类型的网格服务设计工作流,这也为异构网格服务的组合带来了一定程 度的困难。 为此,本文以教育部和国家自然基金委支持的两大网格平台g s p 和g o s 为 例设计并实现了基于e s c i e n c e 的抽象科学工作流管理系统。该系统通过对异构的网 格服务进行抽象,不仅为科学家提供了一个设计科学工作流可视化编辑环境,而且解 决了科学工作流管理系统只能针对同类型的网格服务设计工作流的弊端,使得不同平 台下的异构网格服务可以被灵活组合成科学工作流,促进了网格平台间的资源共享。 最后,我们设计了一个计算化学领域中的工作流实例,通过实验数据分析得到基 于e s c i e n c e 的抽象科学工作流管理系统能很好地解决网格平台之间异构服务的组合 问题,验证了基于e s c i e n c e 的抽象科学工作流管理系统的可行性和有效性。 关键词:e s c i e n c e 、科学工作流管理系统、抽象网格服务、作业管理组件 a b s t r a c t w i t ht h eg r o w t ho fc o m p u t e rc a p a b i l i t y , 鲥dc o m p u t i n gh a sb e c o m ea l li m p o r t a n tt e n d e n c y o fc o m p u t e ri m p r o v e m e n t a sas i g n i f i c a n to fg r i dc o m p u t i n g ,e - s c i e n c el i n k sl a r g ed a t a s e t sa n dh e t e r o g e n e o u sd a t a b a s e st of o r mac o o p e r a t i v ee n v i r o n m e n t n o w , t h ee s c i e n c e e n v i r o n m e n tw h i c hi sb a s e do ng r i da r c h i t e c t u r eh a si n t e g r a t e dam a s so fc o m p u t i n ga n d d a t ar e s o u r c e s a l lt h e s er e s o a r c 圮sa r eu s e db yg r i ds e r v i c e s h o w e v e r , t h eg r i ds e r v i c ei n o n eg n dp l a t f o r mc a n tb ec o m p o s i t e dw i t hs e r v i c e so fo t h e rg r i dp l a t f o r m sb e c a u s eo f d i f f e r e n tm e c h a n i s m sa n di n t e r f a c e s a n dt h i sp r o b l e mh a sc a u s e dt h er e s o u r c ei s l a n d a m o n gg r i dp l a t f o r m s a sat e c h n o l o g yo f 妒da p p l i c a t i o na u t o m a t i o na n dr e s o u r c es h a r i n g , s c i e n t i f i c w o r k :f l o wa i m sa tt h ec u s t o m i z a t i o no fl a r g es c a l es c i e n t i f i cp r o c e s s i tp r o v i d e sa l l a u x i l i a r ye n v i r o n m e n tf o rs c i e n t i s t st om a k ed i s c o v e r y u s u a l l y , as c i e n t i f i cw o r k f l o w m a n a g e m e n ts y s t e m ( s w f m s ) o n l y c a nu s et h es a l n ek i n do fg n ds e r v i c e st od e f m e w o r k f l o w , a n dt h i sm a k et h ec o m p o s i t i o no fh e t e r o g e n e o u sg r i ds e r v i c ee v e nt o u g h e r i nt h i sp a p e r , w eu s ec g s pa n dg o sw h i c ha r es u p p o r t e db ye d u c a t i o nd e p a r t m e n t a n dn s f ct oi m p l e m e n to fa b s t r a c ts c i e n t i f i cw o r k f l o wm a n a g e m e n ts y s t e mb a s e do n e - s c i e n c e b ya b s t r a c t i n gh e t e r o g e n e o u s 鲥ds e r v i c e s ,t h es y s t e mn o to n l yp r o v i d e sa v i s u a ls c i e n t i f i cw o r k f l o we n v i r o n m e n t ,b u ta l s oc o m p o s i t e sh e t e r o g e n e o u sg r i ds e r v i c e s a tl a s t ,w ei m p l e m e n taw o r k f l o wo fc o m p u t a t i o n a lc h e m i s t r yb a s e do na b s t r a c ts c i e n t i f i c w o r k f l o wm a n a g e m e n ts y s t e m a n dw ep r o v et h a tt h es o l u t i o nr e s o l v e st h ep r o b l e mo f c o m p o s i t i o no fh e t e r o g e n e o u sg r i ds e r v i c ea n di m p r o v e st h er e s o u r c es h a r i n ga m o n gg r i d p l a t f o r m s k e yw o r d s :e - s c i e n c e ,s c i e n t i f i cw o r k f l o wm a n a g e m e n ts y s t e m ;a b s t r a c tg r i ds e r v i c e ; j o bm a n a g e m e n tc o m p o n e n t ; n 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立进行 研究所取得的成果。学位论文中凡引用他人已经发表或未发表的成果、数 据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含 任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做 出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名: 盘蚤:童 e t期:2 竺! :垒! 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属 兰州大学。本人完全了解兰州大学有关保存、使用学位论文的规定,同 意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许 论文被查阅和借阅;本人授权兰州大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本学 位论文。本人离校后发表、使用学位论文或与该论文直接相关的学术论 文或成果时,第一署名单位仍然为兰州大学。 保密论文在解密后应遵守此规定。 论文作者签名:盘戛:童导师签名: 1 1 研究背景 第一章绪论 随着计算机计算能力的迅速增长,互联网络的普及和高速网络成本的大幅度降低 以及传统计算方式和计算机使用方式的改变,网格计算已经逐渐成为超级计算发展的 一个重要趋势【1 】。世界上有很多科研机构和企业正在投入大量的人力、物力进行网 格计算相关技术的研究和开发。网格技术,从本质上讲,就是把地理上分散的存储和 计算资源通过高速的网络整合成一个虚拟的巨大的超型计算机,实现各种资源的全面 共享,从而解决只依靠本地资源无法解决的问题。自2 0 世纪9 0 年代在欧美出现以来, 网格技术主要被用于帮助分散的大学研究人员分析粒子加速器和巨型望远镜的数据 【2 】。在最近的这几年中,网格计算已经在许多领域中得到广泛应用,科学研究信息 化( e s c i e n c e ) 【3 1 便是其中一个比较重要的领域。 e s c i e n c e 作为一种新的科学研究手段,将高性能计算资源、海量科学数据库、科 学数字图书馆、野外观测台站、大型科学装置、计算模拟的软件工具等通过高速的网 络联接,组成e s c i e n c e 的基础设施与资源,实现资源集成共享,从而形成支撑科研 人员进行大范围交流协作的协同工作环境【3 】。目前,许多e s c i e n c e 项目( 比如美国 国家自然科学基金会的t e r a g r i d 项目【4 】、中国国家网格c n g r i d 【5 1 、以网络为基础 的科学活动环境的研究【6 】、中国教育科研网格计划c h i n a g r i d 【7 1 等) 都是以网格作为 其基础架构【8 】。随着网格计算技术的不断发展,这些网格平台下已经集成了大量的 数据资源和计算资源。就拿c h i n a g d d 来说,该网格平台目已整合了全国1 3 个省市、 2 0 多所重要高校的大量网格资源,聚合计算能力超过每秒1 6 万亿次,存储容量超过 1 7 0 t b ( 1 t b = 1 0 2 4 g b ) 【9 】。 网格计算作为一种将分布的网络资源虚拟化的技术架构,将海量分布式的资源集 成起来,实现了资源的有效共享。然而,由于网格平台本身实现和运行机制的差异, 以及不同网格平台提供网格服务的形式不同,如c n g r i d 的网格平台( g r i do p e r a t i n g s y s t e m , g o s ) 仅提供符合w e bs e r v i c e 规范的网格服务,c h i n a g r i d 的网格平台 ( c h i n a g r i ds u p p o r tp l a t f o r m ,c g s p ) 仅提供符合w s r f 1 0 规范的网格服务等,使 得一个网格平台内的网格服务很难与另一个网格平台的服务组合使用,从而形成了网 第一章绪论 格平台间的“资源孤岛。 对于e s c i e n c e 环境来说,不但要充分利用网格来实现资源共享,而且要在这些 资源的基础上开展协同工作,使得网格服务能够有条不紊地自动或者半自动执行,尤 其是当网格服务的逻辑过程比较复杂,具有时间和因果约束的时候,更需要有相应的 服务和技术来管理这些应用【1 1 】。科学工作流( s c i e n t i f i cw o r k f l o w ,s w f ) 技术由于 能够使一系列在科学研究中所遇到的数据管理、计算、分析、展现等工作数据链接组 合在一起,从而实现相应的处理和科学计算,目前已经在协同科学研究等领域受到了 广泛的重视。然而,目前大多数的科学工作流管理系统( s c i e n t i f i cw o r k f l o w m a n a g e m e n ts y s t e m ,s w f m s ) 都是为其所在的网格平台设计,仅能针对所在网格平 台支持的特定网格服务进行工作流的设计,从而在一定程度上加剧了网格平台间的 “资源孤岛”问题。 因此,如何针对e s c i e n c e 网格平台间的“资源孤岛”问题,设计与实现一个抽 象的科学工作流管理系统,使网格平台之间的异构服务实现组合与共享,正是本文的 研究目标和内容。 1 1 1e s c i e n c e 当前,人类对客观世界的探索与认识不断向新的深度和广度拓展,现代科学所研 究的问题空前复杂化。传统的观测实验、理论分析的科研手段,在面对很多复杂问题 时已经显得无能为力,迫切需要对大规模数据的处理分析、计算模拟和仿真等新的科 研方法的支持【3 】。同时,现代科学使科研工作者相互之间的交流与合作变得越来越 重要。随着计算机、通信以及互联网的发展,信息技术又以新的形式为实现这种海量 信息的获取、处理、交流与合作提供了技术上的可能性。e s c i e n c e 正是顺应现代科学 研究的发展需要问世的。 e s c i e n c e 的概念是2 0 世纪末首先在英国提出的,其目标是在全球范围内建立一 种基于i n t e m e t 的分布式大规模合作研究网络,以及能够支持这种合作研究网络的下 一代基础体系结构【1 2 】。专家们认为【1 3 】,e s c i e n c e 是建立在网格技术基础之上的一 种科学研究的新环境。它利用高速网络实现各种资源物理上的连通,通过网格中间件 实现各种资源逻辑上的集成,科研人员可以自由地使用各种资源,不必考虑资源的存 储地和提供者,这种使用突破了时间、物理空间、逻辑空间上的障碍。简单地说, 2 第一章绪论 e s c i e n c e 的实质就是通过网络和计算机来促进科学研究的一种新环境和新手段。从国 外目前对e s c i e n c e 的研究情况来看,e s c i e n c e 的主要特点表现为资源整合和共享。 其中包括数据资源、设备资源以及计算资源等。 在e s c i e n c e 概念提出短短的十几年时间里,对e s c i e n c e 研究的意义和价值已经 被越来越多的国家所重视,其发展也非常迅速。美国从2 0 世纪9 0 年代初就开始进行 国家高性能计算环境的研究,每年投入数亿美元进行e s c i e n c e 的基础设施建设。目 前,美国政府的多个部门都己设立了许多项目来推进e s c i e n c e 的建设;欧洲作为 e s c i e n c e 的发祥地,在e s c i e n c e 方面也都积极开展了工作,目前主要的项目包括欧 盟支持的e u d a t a g r i d 【1 4 与e u r og r i d 【1 5 】以及英国的e - s c i e n c e 计划1 1 6 等;在我 国,科技部、国家自然科学基金委员会、教育部正在建设以e s c i e n c e 为核心的新型 科研基础设施支撑平台,主要的项目有中国国家网格、中国教育科研网格计划和以网 络为基础的科学活动环境研究等。 1 1 2 科学工作流与科学工作流管理系统 随着网格技术的出现,科学家们更倾向于在网格环境上设计构建复杂的网格应用 以处理大规模的数据和分布式资源。通常情况下,需要用特定的规则去定义和约束这 些网格应用的流程,也即科学工作流。科学工作流是一个科学活动过程的自动化和半 自动化,在整体或部分上,根据一套程序规则来制定从一个科学活动到另一个科学活 动的流程。随着科学工作流技术在科研领域的广泛应用,它已经成为了一个处理协同 工作和管理分布式资源的重要手段。 科学工作流管理系统是一个利用软件运行在分布式资源上的定义、创建和处理科 学工作流的系统。图1 - 1 给出了1 9 9 5 年工作流管理联盟( w o r k f l o wm a n a g e m e n t c o a l i t i o n ,w f m c ) 【1 7 】基于工作流参考模型( w o r k f l o wr e f e r e n c em o d e l ) 【x 8 1 提出的网 格工作流管理系统的一般架构 1 9 1 。 从图1 - 1 我们可以看到,网格工作流管理系统分为构建( b u i l dt i m e ) 和运行( r u n t i m e ) 两个阶段。构建阶段主要关注的是网格工作流的定义和设计,而运行阶段主要 关注的是对工作流执行的管理以及如何与网格底层的资源进行交互。网格用户通过工 作流的定义工具设计工作流,并生成相应的网格工作流的脚本交由网格工作流定制的 服务( g r i dw o r k f l o we n a c t m e n ts e r v i c e ) 去执行。网格工作流定制的服务有工作流调 3 第一章绪论 度( w o r k f l o ws c h e d u l i n g ) 、数据传输( d a t am o v e m e n t ) 和容错管理( f a u l t m a n a g e m e n t ) 。这些网格工作流中的服务通过网格中间件( g r i dm i d d l e w a r e ) 去访问 网格的异构资源。 图1 - 1 网格工作流管理系统【1 9 1 在本文中,我们参考工作流管理联盟给出的网格工作流管理系统的一般架构,将 抽象科学工作流管理系统分成科学工作流的定义和运行两个部分,并在此基础上进行 设计与研究。 1 2 国内外研究现状 随着科学工作流技术在e s c i e n c e 研究领域中的广泛应用,科学工作流管理系统 的研究受到越来越多的关注,国内外许多研究机构都在开展科学工作流管理系统的研 究与开发。目前,针对不同的学科领域,许多科学工作流管理系统已被开发出来,用 于定义、管理和执行不同学科中的工作流,比如k e p l e r 2 0 1 、g r i d n e x u s 【2 1 1 、 t a v e r n a 2 2 、t r i a n a 2 3 】以及x b a y a 【2 4 】等。然而,由于网格平台的实现机制和自身的 特殊性,这些科学工作流管理系统通常只关注自身网格平台下由同种网格服务组合而 成的科学工作流定义、管理和执行。从目前的发展情况看,虽然针对异构网格服务组 4 第一章绪论 合问题的研究也有一些解决方案被提出来,如异构网格工作流管理机n 2 5 1 等,但整 体上依旧处于刚起步阶段。下面简要介绍几个国内外比较著名的科学工作流管理系统 和方案。 1 2 1 研究现状 ( 1 ) k e p l e r k e p l e r 是由一系列面向应用的研究项目开发而成的。它建立在p t o l e m yi i 系统 2 6 】 之上,旨在通过p t o l e m yi i 可视化建模系统开发一个开源的、支持工作流设计、部署 和执行的科学工作流系统。k e p l e r 是一个通用开放的平台,并不是针对某个特定学科, 它通过w r e bs e r v i c e 访问资源和服务。 k e p l e r 关键在于它是以参与者为导向的设计, 参与者是可重复使用的独立的计算模块,如:w e b 服务,数据库调用等。它们从一 组输入中获取数据再将数据写入一组输出中。一组参与者就可以通过引入一个从输出 到输入的映射连线地联结在一起。同时,k e p l e r 允许参与的通信( 数据流) 装置从整 体工作流的协同中分离开来,分离的部分称为控制器。这种分离功能允许工作流模型 运行不同执行语义【2 7 】。 ( 2 ) g r i d n e x u s g r i d n e x u s 是一个在网格环境中建立和执行科学工作流的图形化系统。g r i d n e x u s 允许用户通过在工作流编辑环境中建立一个定向非循环图( 惦) ,以设计涉及数据 检索、分析和可视化的复杂过程。g r i d n e x u s 的图形用户界面( g u i ) 也是p t o l e m y i i 的可视化建模系统。科学家使用g u i 编辑器设计了一个工作流后,它就将图形化工 作流转换成专有的基于x m l 语言的j x p l 。这里需要指出的是g r i d n e x u s 将g u i 从 工作流的执行中分离开来,只要工作流设计完成后,生成相应的j x p l 脚本就可以在 本地或远程执行。 ( 3 ) t a v e m a t a v e r n a 近两年在生物信息学界刚刚兴起,是e s c i e n c e 项目m y g r i d 的组件之一, 旨在整合风格各异的w e bs e r v i c e s 资源,用工作流的方式为生物学家提供非常简便的 生物信息学服务。t a v e m a 是一个基于开放源码的工作流管理系统,它提供了一套透 明、松散耦合、带语义功能的中间件,以支持科学家对分布式资源进行数据密集型的 模拟实验【2 7 】。t a v e m a 执行面向服务的架构,且基于w e bs e r v i c e 标准。它使用专有 5 第一章绪论 的语言s c u f l ( s i m p l ec o n c e p t u a lu n i f i e df l o wl a n g u a g e ,s c u f l 2 8 ) 来定义 工作流。s c u f l 语言是一种高层次的基于x m l 的概念语言,它允许用户通过本地或 远程服务群组定义工作流,这些服务与数据传输器( 提供数据流) 和控制传输器进行 链接。s c u f l 是整个工作流系统的中间处理交换语言。 ( 4 ) t r i a n a t r i a n a 是一种开源的、用于g r i d l a b 项目【2 9 1 的问题解决环境和测试应用软件。 其目的是定义、处理、分析、管理、执行和检测工作流。该工具包允许用户通过拖动 所谓的部件或工具的编程组件到工作界面上,从而绘制工作流程图;组件之间的连接 是通过数据链和控制链一起实现的。t f i a n a 可通过对等网络的链接将工作流部件分配 到远程计算机上【2 3 】。t r i a n a 支持多种语言,通过允许不同的工作流读写接入来实现。 这些语言包括:w e b 服务流语言( w s f l ) 、定向非循环图和业务流程执行语言( b p e l ) 等。t f i a n a 内部的工作流表示是基于对象的。特定的j a v a 对象代表单个组件实例和所 连接任务的层次。 ( 5 ) 异构网格工作流管理机制( h e t e r o g e n e o u sg r i dw o r k f l o wm a n a g e m e n tm e c h a n i s m ) 异构网格工作流管理机$ 1 j 2 5 1 是由华中科技大学吴松教授等人首次提出的。该机 制基于虚拟服务,屏蔽了服务的平台等信息,而且通过虚拟服务的动态绑定很好地解 决了传统工作流执行过程中由于服务静态绑定所带来的执行效率差等问题,提高了网 格资源共享。 在该机制中,异构网格工作流管理系统将c g s p 和g o s 网格平台下的网格服务 抽象成虚拟服务,通过针对虚拟服务设计成工作流并交由c g s p 的工作流执行引擎 a c t i v e b p e l 3 0 去执行。 以上介绍了几个国内外比较著名的科学工作流管理系统和方案,其中有针对各自 网格平台特点设计的工作流管理系统,也有为提高网格资源共享而设计的异构网格工 作流管理机制。从共性来说,这些系统和方案各自从不同的角度对科学工作流的定义 和执行进行了设计与实现。其中的大多数科学工作流在通常情况下是由自身网格平台 的同种网格服务组合而成的,并没有涉及来自其他网格平台的异构网格服务的组合问 题。 此外,还有一些科学工作流管理系统的项目值得关注和参考,比如威斯康星大学 6 第一章绪论 麦迪逊分校主持的p e g a s u s 3 1 、美国国家自然科学基金委员会( n s f c ) 资助的项目 v i s t r a i l s 3 2 乘l 英国工程和自然科学研究委员会( e p s r c ) 资助的项目d i s c o v e r y n e t 3 3 】 等。 一 1 2 2 研究现状分析 网格计算作为最重要的分布式计算方法,已经被广泛应用到学术研究、企业信息 处理等各个领域。目前,许多网格平台下已经集成了大量的计算资源和信息资源。然 而,由于网格平台本身实现机制和运行机制的差异,使得一个网格平台内的资源很难 同其他网格平台的资源组合使用。随着网格计算技术的不断发展,这种弊端日益显现, 网格平台间的资源逐渐形成了以网格网格平台为基本单位的“资源孤岛 。 科学工作流作为以网格为基础的c s c i e n c e 协同工作环境的一个重要组成部分, 其管理系统已经被各研究机构广泛关注和研究。科学工作流管理系统负责定义、管理 和执行科学工作流。目前国内外的大多科学工作流管理系统仅支持由同种类型的网格 服务组成的工作流的定义和执行,从而在一定程度上加剧了网格平台间的“资源孤岛一 问题。 华中科技大学吴松教授等人基于虚拟服务提出的异构网格工作流管理机制,将 c g s p 和g o s 网格平台下集成的异构服务利用异构网格工作流管理机制整合了起来, 提高了不同网格系统间的资源共享。异构网格工作流管理机制的工作流运行基于 c g s p 网格平台的a c t i v e b p e l 引擎,其提交的工作流脚本必须符合业务流程规范 b p e l 【3 4 。从共性上来说,虽然b p e l 语言和科学工作流都属于业务流程管理的范 畴,它们都是对某一流程的描述,但就各自的侧重点来讲,科学工作流描述的是科学 活动过程,而b p e l 则更倾向于描述商业业务流程,并不适合科学研究流程的表述。 这也就意味着科学家在使用b p e l 设计科学工作流时需要进行一系列繁琐的拖拽操 作来完成工作流的定义和设计,从而降低了科学工作流的实际应用效果。从另一个角 度来说,在商业业务过程中,工作流管理主要是处理管理数据、财务数据以及一些结 构化的文档,比如合同、报表等。因此商业工作流具有静态性和高度的重复性。而在 科学活动中,由于科学活动过程往往具有不可预知性。因此,科学工作流是动态的, 而不是静态的【3 5 】。同时,虽然科学工作流也有一定的重复性,但是和业务流程的重 复性不同,科学工作流中的重复性往往只是体现在抽象工作步骤和某些具体活动中的 7 第一章绪论 重复,重复性远远低于商业工作流【3 6 ,3 7 。 综上所述,本文将参考工作流管理联盟给出的网格工作流管理系统的一般架构, 设计和实现一种通用的面向科学家的旨在提高网格系统间资源共享的抽象科学工作 流管理系统。该系统不仅可以使科学家方便地定义和设计科学工作流,而且能使科学 工作流管理系统更加适合科学研究活动在网格环境下的开展。 1 3 本文的主要工作 本文所做的研究工作受到了国家自然科学基金重大研究计划“以网络为基础的科 学活动环境研究 的重点项目“计算化学e s c i e n c e 研究与示范应用( 项目编号: 9 0 6 1 2 0 1 6 ) 和国家自然科学基金面上项目“化学网格通用作业描述语言研究( 项目 编号:6 0 7 7 3 1 0 8 ) 的联合支持。 本文的主要工作是针对当前e s c i e n c e 环境下各网格平台实现机制和访问接口不 同以及网格服务表现形式不统一造成的“资源孤岛 等问题,以c g s p 和g o s 网格 平台为例,设计和实现了基于e s c i e n c e 的抽象科学工作流管理系统。该系统从提高 网格平台间资源共享的角度出发,设计了虚拟网格服务、作业池、作业管理以及公用 数据管理组件。 为了设计与实现抽象科学工作流管理系统,本文主要开展以下研究工作: ( 1 ) 如何根据c g s p 和g o s 两大网格平台的特点,构建一个适合科学家在网格 环境下开展协同科学研究的抽象科学工作流模型; ( 2 ) 如何根据抽象科学工作流模型实现定义科学工作流的可视化编辑环境; ( 3 ) 如何设计与实现抽象科学工作流作业管理组件,使得组成抽象科学工作流 的各个网格服务之间能够有规律地进行执行、完成科学任务: ( 4 ) 如何实现抽象科学工作流的分解以及为抽象网格服务动态地选择和绑定最 优的网格服务( 目标网格服务) 。 ( 5 ) 如何实现从抽象网格服务到目标网格服务的转换; 1 4 本文的组织结构 论文的组织结构如下: 第一章绪论,论述了科学工作流的研究背景以及e s c i e n c e 环境下网格之间由 8 第一章绪论 于实现机制和访问接口不统一所引发的问题;对国内外研究现状进行了调研;提出本 文的主要工作。 第二章关键技术研究,介绍了实现抽象科学工作流管理系统的技术基础,从技 术层面上分析了实现该系统所需要的关键技术。同时,从建模的角度论证分析了抽象 科学工作流管理系统中所涉及到的抽象网格服务、抽象科学工作流模型、公用数据管 理组件以及作业管理组件等关键模块。 第三章抽象科学工作流管理系统的设计与实现,描述了整个科学工作流管理系 统的体系架构,以及每个功能模块的详细设计和实现;重点描述了抽象科学工作流编 辑环境和作业管理组件的实现,以及抽象网格服务列表的生成、抽象科学工作流的分 解、动态网格服务的选择以及抽象网格服务的转换。 第四章系统评价与分析,为一个典型的计算化学实例的设计工作流,分别在 c g s p 自身的科学工作流管理系统和抽象科学工作流管理系统中进行实验,通过对比 分析说明抽象科学工作流管理系统能有效地解决异构网格系统间的“资源孤岛”问题, 从而提高网格平台间的资源共享。 第五章结论与展望,分析了基于e s c i e n c e 的抽象科学工作流管理系统的特点 和存在的不足,并对未来工作进行了展望。 9 第二章关键技术研究 本章主要介绍了实现基于e s c i e n c e 的抽象科学工作流管理系统的两个关键部分 一抽象科学工作流编辑环境和作业管理器过程中所用到的关键技术。从技术层面上分 析了实现抽象科学工作流编辑环境的g m f 框架( g r a p h i c a lm o d e l i n gf r a m e w o r k ) 【3 8 】 以及抽象科学工作流管理系统中的抽象网格服务、抽象科学工作流模型、公用数据管 理组件和抽象工作流作业管理组件。 2 1 图形建模框架( g m f ) 2 1 1g e f 和e m f 介绍 随着基于j a v a 语言的e c l i p s e 【3 9 集成开发平台的日益流行,e c l i p s e 已经成为大 多数程序员的首选集成开发工具,尤其受到j a v a 程序员的欢迎。同时e c l i p s e 又是一 个工具集成的开发平台,它提供了一个用于开发插件的框架,使得创建、开发、使用 软件工具更加容易。e c l i p s e 建模框架( e c l i p s em o d e l i n gf r a m e w o r k ,e m f ) 和图形 编辑框架( g r a p h i c a le d i t i n gf r a m e w o r k ,g e f ) 技术就是e c l i p s e 下的2 个比较重要 的插件,前者旨在提供一种简便设计和实现结构化模型的框架,后者是一个图形化编 辑框架。 e m f 【4 0 】是e c l i p s e 的一个重要的子项目,提供代码生成工具使得开发者可以把 精力集中在模型本身而不是它的实现细节上,从而以模型驱动的方式开发e c l i p s e 应 用程序。具体来说,它定义了一套名为e c o r c 的元模型( 类似u m l 4 1 元模型,包括 包、类型、属性和方法等元素) ,用e c o r c 定义的模型可以被e m f 转换为运行在e c l i p s e 平台上的j a v a 代码,这些代码实现了一套消息通知机制,是构造一个可靠应用不可 缺少的基础。e m f 能够使模型和j a v a 代码准确保持同步,当模型改变后需要更新代 码时只需要再次自动生成即可,这样就避免了在修改代码过程中的许多人为因素造成 的错误。 使用e m f 构造一个应用程序的模型层有2 步:( 1 ) 构造模型;( 2 ) 生成代码。 前者可以通过u m l 类图、j a v a 接口、x m ls c h e m a 【4 2 等多种方式定义,后者可以 第二章关键技术研究 选择只生成“模型部分 的代码,也可以同时生成“编辑器部分 的代码,再对这个 编辑器做一些定制就可以得到符合需求的应用程序。 g e f 【4 3 框架具有标准的m v c 【4 4 】( m o d e lv i e wc o n t r o l ,m v c ) 结构,可以使 开发者方便地实现d r o p d r a g ,u n d o r e d o ,m o v e ,d e l e t e ,r e s i z e 等图形编辑器的基本 功能。g e f 非常适合用于开发流程编辑器、u m l 图编辑器、w o r k f l o w 编辑器等。在 模型部分,g e f 没有对开发人员进行任何限制,只要模型发生改变时能通知到控制 器即可。g e f 里的控制器被称为e d i t p a r t ,它们是应用程序的核心部分,负责将模型 的改变反映到视图,并将用户在视图上所做的操作应用到模型。在视图方面,g e f 使用一个轻量级的图形系统- - d r a w 2 d 4 5 。有了g e f 的帮助,要在e c l i p s e 里开发图 形化应用程序就变得简单多了。 随着e c l i p s e 平台被越来越多的开发人员接受,结合e m f 和g e f 逐渐成为了构 造图形化应用程序的主要模式,也就是利用e m f 的j a v a 代码自动生成工具,让g e f 在模型层的创建节省工作时问,提高工作效率。但是g e f 和e m f 的2 套c o m m a n d 机制没有实现统一的接口。结合g e f 和e m f 时常会遇到一系列问题,通常需要额外 的代码帮助解决。因此,在本文中我们将采用g e f 和e m f 的整合框架g m f 来实现 抽象科学工作流编辑环境。 2 1 2g m f 介绍 作为m v c 架构的完美实现品,g e f 被广泛用于构建可视化的图形编辑器。然而 在完美地隔离了编辑器与模型的同时,也引入了大量的冗余代码和陡峭的学习曲线。 在更多的时候,我们需要联合使用g e f 与e m f ,以便使用e m f 来构建后台模型。 但是将e m f 和g e f 框架整合在一起不是一件容易的事,我们通常需要花费很长时间 去了解e m f 的模型设计方法和g e f 的m v c 框架,于是g m f 便应运而生【4 6 。 g m f 作为e c l i p s e 的一个开源项目,它在结合了e m f 和g e f 的基础上,为基于 模型的图形化编辑器的开发提供了一套图形化的开发环境和运行时框架,开发人员可 以采用建模的方式很容易地生成高质量的代码框架。g m f 让我们可以用更简单的方 法实现以前要同时用e m f 和g e f 开发的应用程序,而结合二者所带来的各种问题则 不需要关心。同时,借助e c l i p s e 的插件机制。g m f 还提供了十分丰富的扩展性,便 于开发有特定需求的应用程序【4 7 】。在基于e s c i e n c e 的抽象科学工作流管理系统中, 第二章关键技术研究 我们将利用g m f 开发环境和运行时框架建立抽象科学工作流领域模型,并对生成的 相应代码进行特殊的定制以实现抽象科学工作流编辑环境的开发。 2 1 _ 3g m f 运行机制 g m f 是一个为基于模型的图形化编辑器的开发提供图形化的开发和运行环境的 框架。从整体上来说,g m f 框架主要包括两个部分i 图形化开发环境和运行时环境。 图形化开发环境依赖底层的运行时环境,如图2 - 1 所示。 移”? w ”一:+ 。”:“:二:二o ”。j 秀 ;“虻a 目蹑) r 挹; 鼋口d s lg r 批嗣e d i t o r 。一一7 :,“:”、 。一 6 、 ,- 7 蝴 、,。- 一一 。7 、 图2 - 1g m f 运行机制【4 8 】 在g m f 中,定义图形编辑器中的图形、工具以及图形和工具之间的映射是采用 相应的模型来定义的。图形化开发环境则是由对这些模型进行创建和编辑等操作的编 辑器组成。这些由模型所生成的代码可以直接在g m f 运行时环境中运行。 从图2 1 中我们可以看到,运行时环境绑定了e m f 和g e f ,并且提供了服务层 和图形功能。图形化开发环境依赖运行时环境,同时也可以直接使用g e f 、e m f 和 e c l i p s e 平台中的相关功能。g m f 运行时环境提供了丰富的组件和强大的扩展机制, 大大方便了开发者进行图形化应用的开发。 1 2 第二章关键技术研究 2 1 4g m f 创建图形化编辑器的过程 。 图2 - 2g m f 开发过程h 9 由于g m f 是建立在e m f 和g e f 之上的,因此,g m f 运行时环境依赖于e m f 运行时环境和g e f 运行时环境。进而,通过g m f 生成的图形编辑器则依赖于g m f 运行时环境、e m f 运行时环境和g e f 运行时环境。在使用g m f 进行图形编辑器开 发时,首先需要我们先创建一组模型,然后生成图形化编辑器。图2 2 显示了使用 g m f 框架创建e c l i p s e 图形化编辑器所涉及到的模型以及过程。 在一般情况下,用g m f 生成图形编辑器应用程序需要以下一些主要步骤: ( 1 ) 创建一个领域模型( d o m a i nm o d e l ) ,该模型定义了由编辑器管理的一些 非图形化的信息。这一步得到一个 e c o r c 文件。 ( 2 ) 创建一个图形定义模型( d e v e l o pg r a p h i c a ld e f m i t i o n ) ,该模型定义了编辑 器中显示的各种图形元素。这一步生成一个g r n f g r a p h 文件。 ( 3 ) 创建工具定义模型( d e v e l o pt o o l i n gd e f i n i t i o n ) ,该模型用于定义工具栏中 要显示的各种图形元素。 ( 4 ) 将上面所说的图形定义模型和工具定义模型合并,创建一个图形映射模型 ( d e v e l o pm a p p i n gd e f i n i t i o n ) ,该模型定义了领域模型元素与图形元素之间的映射。 ( 5 ) 创建代码生成模型( c r e a t eg e n e r a t o rm o d e l ) ,调整参数( a d j u s tg e n e r a t o r 1 3 第二章关键技术研究 p a r a m e t e r s ) ,生成图形编辑器。 ( 6 ) 通过修改生成的代码来定制图形编辑器的特殊功能。 2 2 抽象网格服务 随着互联网技术的不断进步,科学家对所需数据或软件资源的性能要求越来越 高,种类越来越多样化,科学家们迫切希望能够突破网格平台的限制,结合其他网格 平台中已有的网格服务来完成大规模的数据处理过程。在e s c i e n c e 环境中,c g s p 和g o s 两大网格平台各自拥有大量的数据资源和计算资源。然而,这些资源由于所 属平台实现机制的差异以及网格服务表现形式的不同,使得c g s p 平台所属的网格服 务很难与g o s 等其他网格平台下网格服务组合使用,反之亦然。从而在多个网格平 台间形成了不同程度的“资源孤岛”。 为此,我们以c g s p 和g o s 两大网格平台为例,并参考异构网格工作流管理中 虚拟服务的相关机f l ;j j 2 5 1 ,提出抽象网格服务来解决不同平台网格服务的表现形式不 统一这一问题。抽象网格服务是对c g s p 与g o s 平台中集成的异构服务进行抽象而 形成的逻辑概念,它表示了两个网格平台中具有相同功能的某类网格服务。在基于 e - s c i e n c e 的抽象科学工作流管理系统中,它除了拥有这些异构服务的共同属性( 如服 务名、服务类型以及相关参数等) 外,还具有一些其他特殊的属性,比如先行服务列 表等。抽象网格服务的模型如图2 3 所示。 图2 - 3 抽象网格服务模型 抽象网格服务描述了抽象科学工作流定义中的对象、对象关系和属性,以此来形 1 4 第二章关键技术研究 成一个工作流信息交换的格式集合的基础。从图2 3 中可以看到,在抽象科学工作流 管理系统中,科学工作流是由若干个抽象网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国音乐史论文
- 1型糖尿病管理技术应用共识2026
- 房产证办理流程范本
- 城市物流车辆技术规范(编制说明)
- 代销合同模板
- 第13章 微信支付集成
- 探讨建筑工程预结算审核工作中存在的问题与对策
- 2026年吉林省白山市中小学教师招聘考试真题解析含答案
- 2026年保密宣传月保密知识考试全国模拟试卷
- 2026年湖南省张家界市中小学教师招聘考试题库及答案
- 2026年电网大面积停电应急演练方案
- 2026 年浙江大学招聘考试题库解析
- 2026上半年北京事业单位统考大兴区招聘137人备考题库(第一批)及参考答案详解【考试直接用】
- 2026年湖南省长沙市高二下学期第一次月考化学模拟试卷02(人教版)(试卷及参考答案)
- 成都交易集团有限公司2026年第一批社会集中公开招聘笔试备考题库及答案解析
- 8.2 立方根教学设计人教版数学七年级下册
- 2026年宁波城市职业技术学院单招综合素质考试题库附参考答案详解(研优卷)
- 2026年山西经贸职业学院单招综合素质考试题库附答案详解(综合题)
- 全髋关节置换患者的出院康复计划
- 2025湖南株洲市市直事业单位公开招聘(选调)工作人员(医疗岗146人)笔试历年典型考题及考点剖析附带答案详解试卷2套
- GB/T 22576.1-2026医学实验室质量和能力的要求第1部分:通用要求
评论
0/150
提交评论