已阅读5页,还剩84页未读, 继续免费阅读
(计算机科学与技术专业论文)数值天气预报业务流程监控管理系统研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 表目录 表1 1网格工作流系统比较。7 表2 1业务流程定义和l i n u x 文件系统层次结构对比1 7 表2 2 监控元素( 业务流程定义) 和监控组件( 作业) 对应关系1 7 表3 1 作业编排表2 9 表3 2 监控信息存储结构及信息格式3 2 表3 3 用户信息表。3 7 表3 4 业务流程表3 7 表3 4 业务流程表( 续) 3 8 表3 5 报警规则表3 8 表5 1 流程监控模块监控数据表。6 8 第v i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:熬僮丞氢亟塑些查速猩监控篁堡歪统盟窒曼塞理 学位敝储鹤:囱雄 吼加阵月;日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 学位论文作者擞:爿摊 作者指导教师签名:! ! 主:翌兰虽 日期:伽湃,月乡日 日期:2d 口g 年,月乡日 国防科学技术大学研究生院学位论文 第一章绪论 1 1 课题研究背景 2 0 世纪8 0 年代以来,随着遥感、计算技术和气象卫星资料的广泛应用,世界天气预 报技术出现了新的飞跃,传统的天气预报已被数值天气预报( n w p ) 取代。数值天气预报 【l 捌采用超大规模的计算机系统将最新收集到的气象数据资料进行预处理,然后采用合理的 数值模型进行计算,得到未来天气的预报结果。数值天气预报要比人的经验预报准确率高 得多,尤其对于转折性的天气变化,因此开展数值天气预报是各个国家气象发展的重点。 国家气象中心于1 9 9 1 年6 月建成我国第一代全球中期数值天气预报业务系统,使我 国成为世界上能开展中期数值天气预报业务的少数几个国家之一,以后又逐步建立了第二 代、第三代全球中期数值天气预报业务系统。数值天气预报业务系统【3 j 一般由实时观测资 料和预报产品通信分系统、中期数值预报分系统、有限区域数值预报系统、中尺度数值预 报数据库分系统、数值预报产品图形图像处理分系统、数值预报产品使用系统以及统计检 验分系统组成。其业务系统有如下特点: 业务流程复杂,运行时间长。其业务流程涉及到多种数据处理、模式计算、统计 检验环节,某些环节的运算可能需要持续数个小时。在这些环节的运行过程中,有可能会 因为计算机硬件或软件的原因出现一些无法预知的错误。 每天循环运行。由于气象中心每天都要向用户发布预报结果,所以其业务系统每 天都要定时循环运行。这就要求系统管理员必须能及时了解预报系统运行的进度和发现运 行过程中出现的错误,以免影响当天预报产品的发布。 数值天气预报业务系统的特点要求必须有一种直观、方便的监控手段来对整个业务运 行过程进行监控管理。目前,对数值天气预报业务流程的监控管理多采用手工方式,由用 户根据程序输出的字符运行信息来判断流程的运行状态及进度。这种监控方式不够直观, 对用户的要求较高。 数值天气预报是- i - j 需要海量计算的科学,一直是h p c 平台的重要应用领域,当前国 内建立的数值天气预报业务系统多运行在银河、i b m 等巨型计算机或其它集群系统上。近 年来,随着计算机网络技术的快速发展,大量以计算机系统为主导的计算资源、存储资源、 数据资源、信息资源和仪器设备资源等在互联网上逐步形成 4 1 ,同时更大规模科学计算应 用( 如气象集合预报) 的出现对计算能力提出了更高的要求。对于这些应用,单一的巨型 机或集群系统无法提供足够的计算能力和数据资源,于是网格计算应运而生。网格通过将 大范围地理分布的异构计算机系统和资源整合在一起形成一个大规模的计算平台,用户可 以将这个计算平台视为一个“超级计算机 ,只需要接入这个计算平台即可使用所有的资 源和服务。由于网格聚集各类高性能计算资源、存储资源、仪器资源,因此它能够处理以 前一台高性能计算机无法解决或者不容易解决的大规模科学计算、大规模信息处理等岭j 。 第1 页 国防科学技术大学研究生院学位论文 目前,网格计算在数值气象集合预报、高性能物理计算、大规模军事仿真、生物信息学、 天文学等领域已经逐渐成为大规模异构分布式计算的主流技术。 本文针对数值天气预报业务监控需求以及当前监控手段的不足,对h p c 平台和网格计 算环境下的业务流程监控管理技术进行了研究,并分别实现了h p c 平台上的业务流程监控 管理系统w e b s m s 和网格环境下的业务流程监控管理系统e p g f i o w ( e n s e m b l ep r e d i c t i o n g r i dw o r k f l o w ) 。 1 2 流程监控管理系统研究现状 本节将分别对高性能计算平台( h p c ) 上的业务流程监控管理系统和网格环境下的流 程监控管理系统进行介绍、分析和对比,并对这些系统存在的优缺点做简要的说明。 1 2 1h p c 平台流程监控管理研究现状 目前国内外对h p c 平台流程监控管理技术研究和应用的成果很多。典型的应用系统有 p l a t f o r m 公司的p r o c e s sm a n a g e r 【6 1 、c o n d o d 7 , g 以及s c a l i 公司的s c a l im a n a g e r m 9 1 。 p r o c e s sm a n a g e r p r o c e s sm a n a g e r 是p l a t f o r m 公司开发的一个负载平衡管理工具,它允许用户在u n i x 或者w i n d o w s 环境下自动化管理他们的业务流程。p r o c e s sm a n a g e r 提供了一种灵活的调度 能力以及在可扩展执行环境下的负载平衡能力。 通过p r o c e s sm a n a g e r 客户端程序,用户可以创建和提交流程定义文件到p r o c e s s m a n a g e r 服务器,由服务器来解析、管理流程定义中所定义的作业之间的依赖关系。作业 通过l s f 提交,由l s f 来完成资源管理、负载平衡、运行作业以及返回作业状态信息至 p r o c e s sm a n a g e rs e r v e r 的功能。通过p r o c e s sm a n a a g e r 客户端,用户可以监控他们编排的 业务流程。其系统结构如图1 1 所示。 图1 1p r o c e s sm a n a g e r 系统结构 p r o c e s sm a n a g e r 为用户提供了一套完整的业务流程监控管理方案,但是它采用c s 方 式架构整个系统,用户必须单独安装客户端程序才能使用其监控功能,这在一定程度上给 国防科学技术大学研究生院学位论文 视集群的运行状态。但是其监控因素多偏重硬件和系统方面,对系统中运行的业务流程只 能从单个作业的角度进行监控,无法对整个业务流程进行全方位的监控管理。而且作为一 款商业软件,用户需要花费不菲的资金去购买。 上述介绍的流程监控管理系统除s c a l im a 衄g e t m 外,均未提供w e b 访问方式,必须在 本地安装客户端软件,进行配置后才能实施监控管理,增加了应用的复杂性。目前大多数 功能完善的的流程监控管理系统除c o n d o r 外多为国外商业软件,价格普遍较高。 1 2 2 网格环境下流程监控管理研究现状 网格环境下的流程监控管理主要由网格工作流系统来实现。网格工作流由一组网格服 务组成,这些服务为实现某一特定目标,根据定义好的执行流程,在分布的网格资源上执 行。下面介绍和分析一些采用网格工作流技术实施流程监控管理的网格项目和系统。一些 项目采用网格工作流作为整个网格应用中的服务,从而使得网格应用的构建更加方便和高 效;另外网格工作流本身就可以看作单独的系统,可以作为网格应用的一个支撑平台。 g w n g r i dw d r l m o w 心c h i t e c t u r e ) 1 1 0 】 g c e ( 嘶dc o m p u t i n ge n v i r d m i l e n t ) 和g s m ( g r i ds e r v i c em 锄g e m e n t ) 研究小组提出的 一个网格工作流管理系统体系结构,指出了网格工作流的生命周期包含工作流过程描述和 验证,工作流实例的执行。g w a 的目标是:定义了一个网格工作流公开架构,与g c f 和岍m c 一致,采用已经存在的标准和实践来实现;确定了g c f 和其它组织工作流管 理系统的公共特征和区别;确定了一套研究网格工作流管理的公共问题。g 、m 严格限 制讨论架构和机制而不是实现。 g w a 确定了网格工作流生命周期的里程碑:工作流过程描述( 聊d ) 的创建,聊d 的 验证,工作流实例描述( w c d ) 创建,实例的执行。g w a 的体系结构和各部分的关系如图 1 3 所示。这个基本架构包括工作流过程定义和工作流过程实例的创建、分析验证和存储, 工作流运行服务以及网格环境( 主要指网格终端服务和网格公共服务) ,并且还描述了工 作流运行服务和网格服务之间的关系。由于网格是一个开放式环境,过程定义的描述可能 是各种各样的,因此在进行验证、实例化和存储之前,要先转化为一种统一的描述语言, 在此工作流中就采用了p e t r in e t ( p n ) 作为系统内部的过程描述语言。工作流运行服务引 擎是一个工作流管理系统中的核心部分。在这个网格工作流系统中,工作流运行服务引擎 是由一个协调服务来创建和管理的,每一个过程定义,过程实例j 对对应一个工作流运 行服务引擎。用户仅用掌上电脑等终端设备,就可通过工作流控制接口与工作流运行服务 引擎通信。工作流运行服务引擎主要由流程控制单元构成,用于控制一个过程定义,过 程实例j 对的运行。对于过程定义中的每个活动,都有一个活动控制单元与之相对应。它 由流程控制单元中的活动分配单元所激活,负责初始化活动、控制活动的执行以及向流程 控制单元中的活动执行结果分析单元报告活动执行的结果。 g w a 是一种较全面、较清晰的网格工作流架构,它对网格工作流系统的实现提供了 一些很好的参考。但它仅是理论上的成果,还没有付诸实现。 第4 页 国防科学技术大学研究生院学位论文 图i 3 网格工作流体系结构( g w a ) u 刨 k e p l e r 1 1 1 2 】 k e p l e r 项目由美国科学基金n s f 支持,u cb e r k e l e y 和s a nd i e g o 超级计算中心基于 j a v a 开发。目的是打造一个通用的科学工作流集成平台,整合多种已有的计算模型。k e p l e r 构建在p t o l e m y i i 系统上,能够设计、发现、执行和部署不同科学领域的工作流,同时提 供了一种功能强大的图形化方式来编辑、监控、管理业务流程。科学家可以利用k e p l e r 的 图形化界面进行注册和发现各种服务和资源,交互的设计和执行科学工作流流程。 k e p l e r 利用内嵌的并行控制和工作调度机制,无缝地将科学工作流的设计、执行、运 行时交互、本地和远程数据访问、本地和远程服务调用组合起来。它继承了p t o l e m yi i 系 统的特点,能够在单个科学工作流中组合不同的计算模型。k e p l e r 的计算单元称为“a c t o r ”, 通过输入输出端口,每个a c t o r 都是彼此通信的可重用组件,多个a c t o r 连接在一起形成科 学工作流。整个工作流在交互调度组件( d i r e c t o r ) 的调度下执行,其u i 如图1 4 所示。 图1 4 k e p l e r 网格工作流系统n 2 第5 页 国防科学技术大学研究生院学位论文 t a v e 皿a 1 1 3 ,1 4 j t a v e m a 是m y g 瑚网格项目里的工作流管理系统。它为科学家提供生物信息工作流在 网格平台上的开发和执行功能,为用户提供数据模型和图形化的用户接口,采用f r e e f l u 0 作为工作流引擎。其系统结构如图1 5 所示。 雷霍冒露 服务 图1 5t a v e m a 系统结构u 引 t a v e m a 中,流程模型可以通过图形方式描述,也可以采用一种基于x m l 的语言 s c u n ( s i m p l ec o n c e p n l a lu m f i e df l o wl a i l g u a g e ) 来描述。和其它的工作流描述语言相比, s c u n 允许在规定的策略下进行隐式的迭代。在执行层,工作流引擎提供了多线程的机制来 加速迭代处理,用户可以设置“线程”属性来定义迭代处理时并发实例的数量。这种机制 很适合处理大量并发执行的过程,可以允许工作流引擎同时发送下一个输入所需的数据, 从而缩短执行的等待时间。 t a v e m a 给用户提供了良好的用户界面定义工作流、选择合适的服务、执行和监控工 作流;允许用户查看工作流运行的中间结果和最终结果;用户可以以不同的方式存储本地 和远程的结果。 t a v e n l a 还提供了良好的容错机制,用户可以对工作流中产生错误的某些限制进行配 置,比如,用户可以设定错误服务的重启次数、时间限制以及备选的处理单元。用户也可 以设置“关键( c r i t i c a j ) 属性给特定的处理单元。如果对这个“关键 处理单元重启和 备选处理都失败,则整个工作流执行将被终结。如果是“非关键 处理单元,即使重启和 备选处理都失败,工作流仍然继续运行,但失败的处理单元不再被执行。 1 h a 的1 1 5 l 们 t r i a n a 是c a r d i f f 大学开发的一个可视化工作流导向的数据分析环境,主要用于分析 g e 0 6 0 0 项目中的引力波信号。它通过使用g a p 接口来集成网格服务。g a p 通过使用 t a ,p 2 p s ,w e b 服务和o g s a 技术提供了较高层次的对网络核心服务的访问。 第6 页 国防科学技术大学研究生院学位论文 1 3 本文的内容和工作 为满足数值天气预报业务系统对流程监控管理的需要,本文对h p c ( 高性能计算) 平 台和网格计算环境下的业务流程监控管理技术进行了研究,并分别设计实现了各自平台上 的图形化业务流程监控管理系统。本文主要工作包括: 1 研究分析了当前肿c 平台和网格计算环境下使用的业务流程监控管理系统,通过 对比分析,总结其优点和不足,并针对其不足在本文构建的业务流程监控系统中加以改进。 2 分析了数值天气预报业务系统的特点,根据其业务特点,引入了一套适合数值天 气预报业务特点的流程编排规范。 3 对肿c 平台流程监控管理的关键技术进行了研究,为减少对原业务系统的修改, 提出了一种插入式监控组件结构,并对流程监控管理系统的容错机制、作业调度机制进行 了研究和设计。 4 针对肿c 平台,设计实现了图形化的数值天气预报业务流程监控管理系统 w 曲s m s 。 5 根据数值天气预报尤其是集合预报的业务特点,对网格计算环境下的业务流程监 控管理技术进行了研究。设计了气象集合预报业务流程在网格计算环境下的建模方式。 6 研究分析了采用网格工作流技术实现流程监控管理系 x 国防科学技术大学研究生院学位论文 集合预报网格工作流的引擎和监控技术进行了研究,提出了一种基于代理服务的动态服务 绑定方法和基于消息总线的监控方式。 第五章e p g f i o w 原型系统设计与实现。根据系统的设计目标和用户群的层次结构, 给出了系统的总体结构。然后从可视化建模工具、工作流引擎以及监控器模块对整个系统 做了设计与实现。最后介绍了e p g f l o w 原型系统与网格门户系统的集成方式。 第六章总结和展望。总结论文的主要研究工作:针对本文研究的不足,展望了下一 步的工作。 第9 页 国防科学技术大学研究生院学位论文 第二章h p c 平台流程监控管理关键技术研究 数值天气预报是当今世界各国进行天气预报的主要手段,本章针对数值天气预报业务 系统的特点,对数值天气预报业务在肿c 平台上的流程编排、调度执行、状态监控等关键 技术进行了研究。 2 1 数值天气预报业务特点 模块是一个具有独立功能的程序,可以单独设计、调试与管理。模块化设计就是按照 适当的原则把一个情况复杂、规模较大的程序划分为一个个较小的、功能相关而又相对独 立的模块。模块化设计的优点一是可以使复杂的系统化大为小,化繁为简;二是便于维护, 可以多人并行开发,从而提高系统的设计效率。 数值天气预报业务系统由于业务过程复杂,一般均采用模块化设计。将整个业务系统 根据功能划分为多个小的模块,最后由一个主模块来调用各个功能模块,完成整个业务流 程。图2 1 是高分辨率中尺度数值天气预报系统的业务流程【3 】。 图2 1 高分辨率中尺度数值天气预报系统业务流程懵1 以模块化方式设计的数值天气预报业务系统,其各个功能模块之间是一种松散耦合的 关系,各个模块之间的交互主要是数据交互。对于数值天气预报这样的业务系统,多采用 s h e u 脚本来配置、调用功能模块。在各个功能模块运行之前,首先通过s h e u 脚本对模块 运行所需的环境变量、数据资料位置进行预先设置;当功能模块运行完以后,还需通过s h e l l 脚本对其产生的数据进行存储、移动。因此一个完整的功能模块除了功能程序模块外,还 第l o 页 国防科学技术大学研究生院学位论文 应包括参数设置、后处理等,此处完整功能模块就是指一个可以完成某种功能的s h e l l 脚本。 对于数值天气预报业务系统,本文采用以s h e l l 脚本为监控单元的方式来对整个业务流 程进行监控管理。通过在s h e u 脚本中插入监控组件的方式来对业务流程中的某一具体作业 进行详细监控,这点将在2 3 节具体说明。 2 2 业务流程定义 实现数值天气预报业务流程监控管理系统,首先需要_ 套完整的业务描述语言,规范 定义业务组成描述、业务逻辑关系以及业务对象控制结构。从而让用户根据规范编排业务 流程,将承担不同处理任务的多个应用程序整合成一个完整的业务系统进行监控管理。本 节针对数值天气预报业务特点从结构元素、监控元素、触发器以及控制元素方面引入了一 套业务流程编排规范。 2 2 1 结构元素定义 尽管数值天气预报业务系统采用模块化设计,但是当其业务系统比较复杂时,其功能 模块将会较多,业务流程会非常复杂,不便于进行监控管理。这可以通过对各子功能模块 进一步抽象,将完成同一或类似功能的各子功能模块归为一类的方式来解决。这样归类过 的业务流程就具有一个层次结构,比较便于监控管理,而且符合程序设计人员“自顶向下” 的模块设计准则。以图2 1 所示的高分辨率中尺度数值天气预报系统的业务流程为例,对 流程中的各功能模块进行重新归类,重新归类过的业务流程如图2 2 所示。 图2 2 重新归类后的高分辨率中尺度数值天气预报业务流程 第1 1 页 国防科学技术大学研究生院学位论文 图2 2 中所示的业务流程引入了s u i t e ,f a m i l y 和t a s k 元素。其中s u i t e 代表一个作业包, 用来表示整个业务流程;f a m i l y 表示作业族,用来表示某些功能模块的集合;t a s k 为最小 的监控管理单元,对应具体的功能模块,与其关联的为实际运行的脚本或并行程序。s u i t e 是作业族( f a m i l y ) 的集合,f a m i l y 是作业( t a s k ) 或其它f a m i l y 的集合。此处的术语s u i t e , f a m i l y 和t a s k 类似于树型结构的节点( n o d e ) 概念。 作业族( f a m i l y ) 将一些相关作业( t a s k ) 或其它作业族( f a m i l y ) 集中在一起。将相 互关联的t a s k 放置在同一个f a m i l y 中,类似于文件系统中将相关文件放在同一个目录下, 可以消除作业( t a s k ) 之间的相关性。对于图2 2 中所示的流程实例,采用结构元素定义后, 可以描述如下: s u i t e 高分辨率中尺度数值预报系统 撑数据准备 f a m i l y 数据准各 t a s kg e t 撑从要素库中得到数据d a t a t a s kd a t ac h e e k 襻检验数据 t a s ks a v ed a t a 雾存储数据 e n d f a m i l y 参中期数值预报阶段 f a m i l y 中期数值天气预报 t a s kp r e t r c a t m e n t t a s kg l o b a l d a t a a a a l y s e t a s kd a t a l n i t i a l t a s kr u n f o r e c a s t t a s kp o s t _ d e a l e n d f a m i l y 群有限区域数值预报阶段 f a m i l y 有限区域数值预报 t a s kp r e t r e a t m e n t t a s kr e g i o n d a t a a n a l y s e t a s kd a t a l n i t i a l t a s kl u n f o r e c a s t t a s ks a v e d a t a e n d f a m i l y 撑后处理阶段 f a m i l y 后处理 t a s k 存档 t a s k 图形图像处理 t a s k 解释应用 t a s k 发布产品 e n d f a m i l y e n d s u i t e 撑数据预处理 撑全球客观分析 撑初值化 襻运行预报模式 样后处理 群数据预处理 # 区域客观分析 撑初值化 撑运行预报模式 撑保存数据到场库中 第1 2 页 2 3 4 5 6 7 8 9 m n挖n“巧:2”墙侈如靓笼”雄”;号勰拶如n 国防科学技术大学研究生院学位论文 时间和日期触发可以同时作用于作业包、作业族和作业上,两者可以混合使用,但如 果两者设定的触发有重叠,则可能会引发不可预计的结果。以下是一个时间& 日期混合触 发的实例: 这个实例定义作业t 1 可以在每周日和周三的凌晨一点和下午四点运行,但是这一天还 必须是每月的1 号。 2 2 4 控制元素定义 控制元素主要定义作业需要循环执行或有条件执行的情况。包括r e p e a t 元素、l o o p 元 素、f o r 元素和i f e l s e 元素。r e p e a t 元素用来控制作业包、作业族或者作业根据某一条件重 复执行,其定义方式如下: r e p e a td a ys t e p e n d d a t e 】 样结束日期之前每天循环执行,只有作业包可用 r e p e a tm o n t hs t e p e n d d a t e 】群结束日期之前每月循环执行,只有作业包可用 夺r e p e a ts t r i n gv a r i a b l es t r l s t r 2 】 撑根据字符串循环执行 r e p e a td a t ev a r i a b l ey y y y m m d dy y y y m m d d s t e p 稃根据日期循环执行 以下是一个r e p e a t 元素使用实例: l o o p 元素控制业务流程定义中变量的循环,以简化业务流程定义的复杂性。对于数值 天气预报业务系统,由于每天要分0 0 0 6 1 2 1 8 时分别进行运算,0 0 时和1 2 时要运行的任 务可能是一样的,只不过处理的数据不同,所以其流程定义也可能是完全一样的。如果不 采用循环,在业务流程定义中就要分别对o o 时和1 2 时分别定义,将会大大增加流程定义 的冗余性。f o r 和一般程序设计中的f o r 功能相同,用来完成循环控制。i f e l s e 用来控制流 程的条件流转。以下是一个采用循环控制元素的业务流程定义实例: 第1 6 页 国防科学技术大学研究生院学位论文 作业t l作业心作业口作业“ 图2 3 插入式监控组件结构 2 4 容错机制 容错【2 1 1 ,是指在系统中,当一个或多个关键部件出现故障时,系统采取相应措施,维 持其规定功能,或在可接受的性能指标变化下,继续、稳定可靠运行的能力。容错的基本 思想最早由冯诺伊曼在1 9 5 2 年提出,即系统若具有自动修复和容忍故障的能力,就可以 达到高可靠性系统的目标。容错技术能够达到对故障的“容忍 ,并非是“无视 故障的 存在,是要能够自动、适时的监测并诊断出系统的故障,然后采取相应的故障控制或处理 策略。容错技术主要通过故障检测、冗余系统、故障屏蔽、重组技术、自修复技术和系统 恢复来实施。容错的目的,是使系统从故障状态恢复到正常工作状态。恢复技术能够复原 足够的系统状态,允许工作进程在不丢失或少丢失信息的情况下,重新开始执行故障发生 前的某一进程,而不必完全重新启动整个业务系统。恢复技术通常用软件实现,一般可分 为两种:正向恢复技术和反向恢复技术【捌。业务流程监控管理系统采用反向恢复技术:故 障重启和检查点恢复来实现系统的容错能力。 2 4 1 故障重启 故障重启是反向恢复技术的一种,是恢复最快的一种形式。它是在故障出现后,根据 上一进程结束时系统所处的状态,重新执行故障发生时的工作进程。故障重启常用作容忍 瞬发错误的手段,可以屏蔽硬件的瞬时故障。故障重启的思想比较简单,一般由主控进程 定期轮询被控进程的状态或者被控进程向主控进程报告自己的状态,两个进程之间通过消 第1 9 页 国防科学技术大学研究生院学位论文 息或共享内存进行通信。若主控进程认为被控进程已经失效,就立即强行中止它的运行, 并在短时间内重新启动它。 故障重启的思想适合“失败即停”错误。所谓“失败即停”错误是指被控进程发生错 误后会立即表现为停止运行或挂起状态,主控进程可以明确获知被控进程出现错误。但是 对于被控程序实际已经发生了错误,但它仍向主控进程发送还在运行消息的错误,故障重 启的思想并不太适用。针对这样的错误,可以采用定期杀掉作业的做法。对于数值天气预 报业务,一般每个作业的运算时间都在一个范围之内,如果作业运行的时间超过了用户设 定的时间,就将该作业强制杀掉,由管理人员检测作业出现的故障。 2 4 2 检查点恢复 所谓检查点l z 3 j ,就是在一个事务结束而另一个事务即将开始的时候,对系统状态的一 次快照。检查点技术是高可用性、进程迁移、负载平衡、系统管理和升级以及许多其它应 用的基础。检查点的作用对象是进程。进程在某个时间点所拥有的各种资源、登记信息以 及当前状态信息形成进程在这二时刻的状态:检查点实现机制如图2 4 所示: 主 控 进 程 图2 4 检查点实现机制 主控进程负责监测用户进程的状态,当用户进程的状态发生改变时,用户进程将进程 状态以及进程上下文写入检查点( c h e c k p o i n t ) 文件。当需要从检查点恢复用户进程状态时, 则由主控进程读取检查点文件,重建失败前的各进程状态并重新执行。 对于业务流程监控管理系统,检查点需要保存的内容主要是业务流程的结构以及流程 中各作业( t a s k ) 的状态。检查点设置的时机一般有如下几种: 用户登录开始使用监控系统 某一作业启动执行 某一作业执行完成 某一作业状态发生改变 用户退出系统 业务流程监控管理系统中检查点作用过程如图2 5 所示: 第2 0 页 国防科学技术大学研究生院学位论文 统管理员可以挂起该作业:当作业运行的节点因为某种系统资源超过系统限制导致节点负 载过重的时候,调度系统本身可以挂起该作业。 令提交状态( s u b 面t t e d 蝴e ) :作业已经被提交到流程管理系统中执行,但由于种 种原因未能开始进入执行队列时的状态。 排队状态( q u e u e ds t a t e ) :作业在等待队列里,等待调度和分配执行时的状态。 错误终止状态( a b o r t e ds t a t e ) :作业运行出现错误,未能正常运行结束时的状态。 以上几种作业状态的转换过程如下图2 7 所示: 图2 7 作业状态转换图 流程监控管理系统中作业状态的转化是由特定的事件触发的。用户提交了一个业务流 程定义后,所有作业状态被流程监控管理系统初始化为未知状态,然后根据流程定义中作 业之间的相关性和依赖性来确定作业执行的顺序,满足执行条件的作业进入排队状态、完 成状态、挂起状态或者中止状态,等待队列中的作业获得合适的资源后转化为提交状态然 后进入活动状态,如果正常结束则转化为完成状态,否则进入异常中止退出状态。 2 5 4 小结 本节对作业管理系统中常用的调度算法和调度策略进行了介绍,对业务流程监控管理 系统中应采用的作业调度机制进行了说明,设计了业务流程管理系统中作业的状态以及状 态之间的转换关系,为下一章节的系统设计实现做了理论铺垫。 2 6 本章 国防科学技术大学研究生院学位论文 第三章唧c 平台流程监控管理系统设计与实现 本章首先介绍h p c 平台流程监控管理系统( w e b s m s ) 的设计目标,然后根据设计目 标给出了系统的总体结构,并对系统中各个功能模块做了设计与实现。最后给出了一个系 统的应用实例。 3 1 系统概述 3 1 1 设计目标 业务流程监控管理系统( w e b s m s ) 的设计目标是能够实时监控数值天气预报业务流 程的运行状态及其计算支撑环境的可使用状态,并以图形化的方式显示这些状态信息。同 时要提供流程运转过程的管理和故障跟踪,构建具有统一控制界面、基于b s 、具有可扩 展性、可操作性、可维护性和高可用的流程监控管理平台:其主要功能应包括: ( 1 ) 实时监控自动化业务的运行状态及其计算支撑环境的可使用状态,并以图形化 的方式显示这些状态信息,同时提供非自动化业务的协同工作环境和全程跟踪管理:构筑 具有统一控制界面、基于网络、具有可扩展性、可操作性、可维护性、高可用的监控管理 平台,制定相应的配套管理措施,形成具有数值天气预报业务特色的安全可靠、实用有效 的业务及环境管理体系; ( 2 )提供数值天气预报业务流程定义、业务运行控制、作业管理、业务状态监控、 业务状态统计数据处理、故障报警处理等能力,并提供自动化故障恢复手段; ( 3 )建立业务信息数据库,提供业务状态、服务水平的实时和历史统计分析。 系统主要技术指标包括如下几点: ( 1 ) 能对数值天气预报业务所需要的各种流程进行监控管理; ( 2 )提供一套完整的业务流程编排描述语言,可以定义业务组成j 业务逻辑关系、 业务对象控制结构: ( 3 )提供w e b 使用界面,支持用户通过w e b 界面对数值天气预报业务流程进行远 程管理和监控: ( 4 )监控管理界面采用类删o w s 界面的操作方式,以符合大多数用户的使用习 惯: ( 5 ) 提供直观显示业务对象层次结构的手段,以类诵n d o w s 资源管理器中目录树的 树型结构来表示业务的层次结构;提供丰富直观的监控显示信息,对作业当前的执行状态、 执行信息等提供清楚明了的图形化显示; ( 6 )提供有效划分及识别各种业务故障的机制,能详细准确定位并描述故障,包括 故障定位、故障指征、故障时间等; ( 7 )提供统计报表以及数据图绘功能。对计算资源、用户使用情况、业务运行情况 以及业务监控的关键数据提供统计报表功能。同时对以上关键数据的历史信息提供自动分 第2 5 页 国防科学技术大学研究生院学位论文 其被授予的权限有关。平台与信息服务模块相连,可以查看信息服务模块提供的数据统计 信息和作业运行报表等:同时与故障处理模块交互,来获取、定位、处理业务系统的故障 信息。 信息服务模块 信息服务模块主要完成监控管理所需要的信息搜集、数据统计、报表生成等功能。信 息包括用户信息、业务对象信息、故障信息等。 用户信息:用户账号信息、用户进出系统记录等; 业务对象信息:资源使用信息、状态信息、属性信息( 名字、属主、描述) 、资 源配额信息、生命期信息( 如从未知状态到完成状态经历的时间,中间状态变迁信息) 等; 故障处理模块 故障处理模块用来获取业务系统的故障信息,并对故障修复提供辅助支持。通过事件 过滤与事件关联分析技术,对业务系统的故障事件进行过滤并建立其中关联,在故障出现 之后,对故障事件进行跟踪过滤,协助找出发生故障的根本原因,为系统管理人员修复故 障提供支持。 3 1 3 模块部署 为了向用户提供统一的w e b 访问方式,并可以与高性能计算门户集成,系统采用基于 b s 模式的三层结构来部署各模块,模块部署方式如图3 2 所示。 图3 2 模块部署结构 系统模块部署分为四个部分:客户端、应用服务器、业务流程管理服务器和资源网络。 客户端部分即用户的浏览器端,部署监控信息发布平台模块。监控信息发布平台 使用j a v a 来实现。由于j a v a 良好的移植性和跨平台特性,客户端部分可以在任何系统平 台下运行; , 应用服务器端部署监控信息处理模块、故障处理模块和信息服务处理模块。采用 第2 7 页 国防科学技术大学研究生院学位论文 j a v a 和c 混合实现,支持多种高性能计算机平台( 银河系列巨型机、可搬移并行计算机、 s g i 系列计算机、肿系列计算机、p c 机和工作站等) 和多种操作系统( n i x 、i 对x 、 h pu n i x 、l i m 等) ; 数据库服务器支持m y s q l 、s q ls e r v e r 、o r a c l e 等多种关系数据库; 业务流程管理服务器部署业务流程管理模块,与各种计算资源和存储资源交互, 管理、调度和监控在这些资源上运行的作业。 3 2 业务流程管理 3 2 1 模块结构 业务流程管理主要完成流程定义的解析、作业之间的调度以及作业执行。模块的功能 结构如图3 3 所示,包括流程定义解析器、作业调度器和作业执行器。 图3 3 业务流程管理模块结构 流程定义解析器负责分析、解释业务流程定义文件。当用户编排好业务流程定义文件 后,首先载入到流程定义解析器进行词法和语法分析,同时进行语义检查,验证流程定义 文件是否存在错误。如果存在语法错误,则报出错误之处让用户修改。如果流程定义文件 通过语法检查,则根据流程定义文件中作业之间的关系以及作业依赖关系定义生成一张作 业编排表供调度器调度使用。 ,作业调度器周期性检查作业调度表,看作业调度表中的作业状态是否发生变化,如果 有作业状态发生变化,则根据作业之间的依赖关系以及作业的状态变换来确定下一步的作 业调度,并将符合条件的作业提交给作业执行器执行。 作业排序的依据:先按流程定义中定义的作业依赖关系( 优先级) 排序,同一优先级 的作业按照提交先后排序,如果资源空闲且当前无作业在运行,则提交作业执行。如果当 前资源上有作业运行,则将该作业状态变为排队状态,等待资源释放后再提交执行。后面 再提交的作业由于所需资源被占用,依次进入排队队列调度执行。 第2 8 页 国防科学技术大学研究生院学位论文 3 2 2 作业调度器 作业调度【2 5 】是系统选择作业、给作业分配资源使之得到运行机会的一个活动。影响作 业管理系统调度器工作的因素主要有:系统负载信息、作业的资源需求信息、日历信息、 操作系统的信息以及调度算法的选择。业务流程监控管理系统的作业调度分为两类: 1 动态作业调度:它的调度目的是协调作业的资源争用矛盾,系统要对作业进行动 态排队,排队的依据以作业对资源的需求和作业的优先级等因素为主;平衡系统的负载, 系统要掌握网络上所有节点机的负载情况,将作业尽可能平均地分配到各台机器上。这类 调度主要针对业务流程定义中具有同一优先级的作业;同一优先级的作业将会按照定义的 顺序依次提交,后提交的作业如果所需的资源被先提交的作业占用,则它要等待资源的释 放。 2 指定作业调度:业务流程定义中对某些作业的运行限制了时间或其它依赖条件, 调度器应根据这些条件使作业在某个特定时间或强制作业等待某个作业完成后才能运行。 两类调度的依据都是作业编排表,作业编排表初始由流程定义解析器根据用户编写的 业务流程定义生成。作业编排表的结构如表3 1 所示。 表3 1 作业编排表 编号名称类型父节点编号大儿子节点编号大兄弟节点编号状态事件标签 标尺时间日期节点依赖 ot e s ts u l t e l f r 一l 昝号 编号 编号编号 编号 编号 ( _ r )g o o df u i l y o1 ( 互一。 一 编号菇 编号编号。7 编号 编号 = b a d f a n i l y o :l ,。 - 一一 , , 一1 ,编号,编号 编号,编号编号编号 一一一撅孳 ,哕屈窖e ,o j , - ,7 一 一一 事件编号事件名称事件状态 ,下巴事件编号 标签编号7 标签名称标签信息丁;! 标签编号 , 一 , , , - , ,旁伴盾性表 ,7 7,标签觑表 、 ,7 i, vl 7 未点号标尺名称 起始值 结鬼值7步进值 当前值时间貊号l 时间字符串时间信息 下一时间属性编号 , 日期依赖表。- 、 1 节点霰缸编号依赖字符串依赖节点需满足状态( 运行) 节够赖表 。,。、- - 一。,。,。 根据作业编排表,作业调度器的调度过程如下: 1 ) 依次遍历作业编排表中的节点属性表,表中的第一行为根结点,编号为0 。 2 ) 查找该节点的事件、标签、标尺、时间、日期、节点依赖关系,如果节点不满足 某依赖关系,则将作业置于非运行状态,等待依赖关系满足。 3 ) 如果节点依赖关系满足,则判断作业的类型是否为t a s k ,如果不为t a s k ,则根据节 第2 9 页 国防科学技术大学研究生院学位论文 点的大儿子节点编号继续查找节点的子节点,跳转到2 ) 。如果节点类型为t a s k ,则将该 作业提交到作业执行器执行。 4 ) 继续查找节点的大儿子节点编号,如果不为一l ,则根据大儿子编号得到该节点的 子节点。跳转到2 ) 5 ) 根据兄弟节点编号查找节点的兄弟节点,跳转到2 ) 。 6 ) 所有的节点遍历完,一次调度过程结束。 作业调度在具体实现过程中,采用“定时检测”和“事件触发 两种机制相结合的方 式。定时检测机制主动轮询作业调度表,查看作业状态是否发生变化,可以保证对超时作 业的持续性检测。事件触发机制在保证实时性调度的前提下,可以减少不必要的定时检测, 减少系统开销,提高系统性能。触发系统调度的事件包括: 令用户登录业务流程监控管理系统 夺作业运行结束 作业所占用的节点释放 作业调度表中作业的状态发生变化 作业调度表中作业的结构发生变化( 提交了新的业务流程定义) 可以看出,采用“定时检测和“事件触发 两种机制相结合的方式,既能保证对超 时运行作业的检测,又能在一定条件下避免不必要的定时检测,减少系统的开销。 作业执行器执行调度器发送的作业执行命令,提交作业到高性能计算平台上执行,并 查询作业的运行状态,如作业的状态发生改变,比如作业因c p u 等资源不足无法运行,或 者作业运行出现错误时,则更新作业编排表中的作业状态信息,供调度器进行下一步调度。 3 3 监控信息处理实现 监控信息处理主要完成监控信息接收、数据解析封装、应用服务、监控数据入库和故 障信息处理接口等功能。其模块结构如图3 4 所示。 图3 4 监控信息处理模块结构 第3 0 页 国防科学技术大学研究生院学位论文 应用服务子模块作为一个应用服务容器存在,采用j a v as e r v l e t l 2 8 实现。其一方面 响应处理用户通过监控信息发布平台发出的登录、操作请求;另一方面调用数据解析封装 模块的函数,得到包含所有作业状态信息及属性信息的监控信息,以供监控信息发布平台 图形化显示。处理流程如图3 5 所示。 将所有的节点信息封装到一个a r r a y l i s t 中通过网 络传送给客户端 1 监控处理进程未启动,则启动进 程,并从输出流中获取启动信息 部分实现代码如下: 图3 5 应用服务处理流程 1 p u b l i cc l a s se c h o s e r v l c t “t t n d sh t t p s e r v l c t 2 。 一 3 接收来自浏览器端的客户请求,并将响应结果返回 4 p u b l i cv o i dd o p o s t ( h t t p s e r v l e t r e q u e s tr e q u e s t , h t t p s e r v l e t r e s p o n s er e s p o n s e ) 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 翰森制药-市场前景及投资研究报告-砥砺前行创新收获期
- 生猪标准化养殖流程作业标准
- 客户反馈意见收集处理规范
- 甘蓝嫁接育苗田间管理规范
- 劳动防护用品配备发放及使用标准
- 水污染防治设施运行管理规定
- 大马力拖拉机故障检修手册
- 婴幼儿常见皮疹护理操作方案
- 肩颈理疗标准化服务流程
- 棉花枯黄萎病抗病品种选用方案
- 《火力发电企业电力监控系统商用密码应用技术要求》
- 2025年石家庄市市属国有企业招聘笔试考试试题(含答案)
- 工厂绿化养护管理办法
- 肺占位待诊-教学查房
- JG/T 194-2006住宅厨房、卫生间排气道
- 数学课程标准读书分享
- 上海市2025年中考语文一模试卷A卷(含答案)
- 用友软件合同协议
- 怀化市靖州县招聘事业单位工作人员笔试真题2024
- 【七年级下册地理中图版】专题11 四川省 【知识梳理】
- 中山大学自主招生个人陈述自荐信范文
评论
0/150
提交评论