(计算机科学与技术专业论文)网络作业管理系统的研究和实现.pdf_第1页
(计算机科学与技术专业论文)网络作业管理系统的研究和实现.pdf_第2页
(计算机科学与技术专业论文)网络作业管理系统的研究和实现.pdf_第3页
(计算机科学与技术专业论文)网络作业管理系统的研究和实现.pdf_第4页
(计算机科学与技术专业论文)网络作业管理系统的研究和实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机科学与技术专业论文)网络作业管理系统的研究和实现.pdf.pdf 免费下载

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

文档简介

摘要 随着网络在计算机技术领域的迅猛发展以及集群技术在社会各个领域越来越 广泛的应用,各种建立在集群技术之上,能够在各种局域网内部实现网络资源的 优化利用的作业管理系统的产生和发展就变得极为迫切,本文所研究的网络作业 管理系统( n e t w o r l 【j o bm a i l a g e m e ms y s t e m ) 就是在这样的需求下产生的。本文 的网络作业管理系统是一种建立在操作系统之上的系统软件,其主要目标是强化 操作系统的作业管理功能【l 】。通过使用相应的平衡策略,将处于系统中的作业在 网络上进行合理分配,以便更加有效地利用系统资源、平衡网络负载、提高系统 的整体性能。 本文针对特定的网络作业管理系统,深入讨论了其系统结构、负载平衡机制、 作业网络的并发控制机制及系统的安全性策略,主要的研究成果体现如下: 1 作业管理系统负载平衡机制的研究。深入讨论了本系统的底层支持网 络队列系统以及该子系统实现的负载平衡机制;分析了各种负载平衡算 法,包括静态负载平衡和动态负载平衡,其中在动态负载平衡算法研究的 基础上,提出了一种改进的、基于请求预约的新算法。 2 作业网络并发机制的研究。分析了作业管理系统的并发访问的必要性以及 并发方式的问题和解决办法,提出了两种并发访问的加锁策略,并给出了 这两种策略的评价。 3 作业管理系统的安全性研究。首先研究了w i n d o w sn t 系统的安全性策 略,其次从系统登陆,用户分级控制以及文件安全性三个方面阐述了本作 业管理系统的安全性策略。 作业管理系统的研究课题是西北工业大学软件工程中心的一个长期国际合作 项目,目前针对该项目研发已经基本结束,并顺利通过了国外专家的评审和验收, 发布了中、日、英三种语言的多个商业版本。笔者参与了该系统的多个版本的开 发工作。这些版本主要实现了系统性能的持续优化,以及某些附加功能的实现。 关键词:网络,作业管理系统,负载平衡,并发控制,安全性。 a b s t r a c t a c c o m p 柚yw i t ht h ed c v e l 叩m 饥to fc o n l p u t 日t e c l l i l o l o g y 锄dt l l ew i d e l y 印p l i c a t i 伽o fc l m t 盯i na n 丘e l d so f c i e 毗t l l er o q u 咖e n to fj o bm a i l a g c i n 饥t s y s t c i l lb 嬲e d c l u s t 盱t e d 】l 1 0 1 0 9 ) ,枷c hc 柚m a i l a g e 协er e s 舢r c 鼯e f t i v c l ya m g l a ni sb e c 讲1 1 i n gv e r y 苫t t bm e e tt h e s en e e d s ,t l l i sj o bn 咖0 r km 肌a g e m t s y s t 锄i sd c s i 印e d 1 1 l i ss y s t e mi so mh n do fs y s t e m 脚a 佗b 船c d o s 粕di 忸 m 血g o a li st or e i n f o r c e 曲l ej o bm a m 喀e m 饥t 劬c t i o f0 s b ym e 删o fa p p l y i l l g l o a d _ b a l a n c i l l gs n 锄e 舀e s t 0d i s 研b m et l l ej o b si nt h cs ) ,s t 锄伽t h en e t w o f k c d w o r k s t a t i o 船,邯et h e s o u r c eo fs y s t 锄e 舒e c t i v e l 弘b a l 觚c et l l en e t w o r kl o a do f s y s t e n l 觚di m p r o v et h ep e r f o 加帽n c eo f t h ew h o l es y s t 锄 t l l i sm e s i sm a i l l l yi n t r o d u c e st h es y s t 锄a r c l l i t e c t i l r c ;l o a db a i a n c em c c i l a l l i s m , j o bn c t w o r kc 0 0 r d i i l a t ea c c e s s i l l gs t r a t e g y 孤dt l l es c c u r i t ys 仃a t e g y o ft l l ej o b m 柚雄r e m e ms y s t 锄t h e m a i l lr c s u l t sa r c 够f o l l o w s 1 t h el o a db a l a n c em e c h 锄i s m 他s e a r c ho fl l l i sj o bm 柚a g 锄a l ts y s t c i l l d e 印l yd i s c 璐s e dt h es y s t e m sb o t c 锄s u p l o r t - l l l en e t w o r k ( 沁e u es y s t c n l 叫q s ) 锄dt h el o a db a l a n c er c a l i z a t i o no fn q ss y s t 锄a 1 1 a l y z e dv a r i o 懈 l o a db a l a n c ea d t l l l n e t i c :d ) m a m i ca r i t h m e t i c 柚ds t a _ t i ca r i m m e t i c b 雒e do n m er 龉e 眦ho fd y l i l i ca r i t h m 两c ,p u tf o 州a r dt l l ei m p r o v e dn e wd y n 锄i c a r i t b i n e 吐c 一恤ec o n c 印tb 雒e do nr e q u e s tp r o c o n 咖c ta n da tl a s tg i v et h e s u l t o f 也ec x p 池e n t 2 t h e s e 砌o fc o o r d 劬e c e 豁i i lj o bn e 附诎a i l a l y z e dt l l en e c 岱s i t yo f j o bc o o r d i m t e c e s sa n d 也ep m b l 锄sc 孤s e db yt h ec o o r d i 瑚| t ea c 龉,p u t f 0 刑a r dt w oc o o r d i l l a t ea c c e s s i n gs 仃a t e 舀鹤,锄d 舀v et h e j u d 鲫肌to f l h e m 3 t h es e c l l r i t yr e s e a r c l lo ft l l es y s t 锄f i 硌tr 伪e a r c h c dt h es u r i t yg 打砒e g yo f w i l l d o w sn ts y s t e l l l s ;m 锄托s e 鲫c h e dm es e c 谢t ys 缸锄e 百e so ft h ej o b m a n a g 锄e n ts y s t e m 丘o mt 1 1 r c ca s p c c t s t l l es y s t 锄i sal o n 争t e 姗i n t 锄a t i o n a lc o 叩c r i n gp r o j c c to fn w p l 7 f 啊a m e n 咖e c r i n gc e l l t e li th 硒b e c l lc h e c k e d 锄da c c 印t e db yf b r e i 班e 】【p e n s m o r v 盯 m a i l y m m e r c i a lp m d u c t s ,i n c l u d i n gc i l i l l e ,j a p a n e 孤de n g l i s hv e 体i sw e r e r e l e a s c d t h e 卸t 1 1 0 rh a dt a k 锄p a ni l lt h ed e v e l o p m e n to fs 锄e 删。璐w h i c ha m a i n l yf o c l l s e do nm er 髂e a r c hb 觞e do nn e w 砌t i 咖lf h t i o 璐锄d1 1 l ec o n t i m l a l o p t i m i z a t i o no f t l l es y s t e mp e r f o n 锄c e k e yw o r d s :j o bm 锄a g e i i l e n ts y s t 锄,l o a db a l a n c e ,c 0 0 栅n a t ea c c 髓s ,s l l r i 够 n 西北工业大学业 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究牛在校攻读学位期间论文t 作 的知识产权单位属于西北上业人学。学校有权保留并向国家有关部门或机构送交论文的复 印件和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编 入有关数据库进行柃索,町以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 同时本人保证,毕q k 后结合学位论文研究课题再撰写的文章一律注明作者单位为西北工业 大学。 保密论文待解密后适用本声明。 学位论文作者签名:_ 二缎 c 7 彬7 年弓月) 口 指导教师签名 ,卵7 年月 阳 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交的学位沦文,是本 人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成 果,不包含本人或其他已申请学位或其他用途使用过的成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名: i 矗区 n p d 彬7 年 月功口 西北工业大学硕士学位论文 第一章绪论 1 1 研究背景 第一章绪论 目前,随着网络和集群技术的迅猛发展,社会各领域的需求也日益广泛,基 于网络和集群的作业管理系统是高性能计算机领域的一个热点问题【2 】。集群的作 业管理系统具有低成本、高性能的特性,提供了强大的批处理和并行计算能力, 代表了高性能计算机发展的新方向,它可以根据用户的需求,统一管理和调度机 群的软硬件资源,保证用户作业公平合理地共享机群资源,提高系统利用率和吞 吐率【3 1 。因此,现在已经出现了几十种作业管理系统的软件产品,它们在目标、 功能、结构和实现上各有千秋,分别从不同的侧面反映了作业管理系统所具备的 特性。 当今国际上有许多的作业管理系统产品。p b s 【4 】、n q s 【5 】、c o n d o r 【“、 l s f 川、l o a m 钾e l e r 【引、n c t s h e p h e r d 【9 】、c r a y 公司的n q e ( n 咖r kq i l e u i n g e n 、,i r o 姗e n t ) 【1 0 1 、她e ms o f t w a r ck 公司的a i 蓼n tj o bs c he d _ u l 一1 1 】以及佛罗里 达州大学开发的公用系统d q s 【12 l 是当今颇具代表性和影响力的几种作业管理系 统。其中p b s 、c o n d o r 是研究产品,l s f 、l o a d l e v e l e r 是商业软件l ”】。 下面,我们对其中几种较新和较有影响的作业管理系统进行简单介绍和讨论。 p b s ( p 砥曲l eb 砷c hs y s o 锄) :p b s 最初由n a s a 的a r s 研究中心开发, 为了提供一个能满足异构计算网络需要的软件包,特别是满足高性能计算的需 要。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的 路由。p b s 的独立的调度模块允许系统管理员定义资源和每个作业可使用的数 量。调度模块存有各个可用的排队作业、运行作业和系统资源使用状况信息。使 用它提供的t c l 、b a c l 、c 三种过程语言,它的调度策略可以很容易被修改, 以适应不同的计算需要和目标,即系统管理员可以方便地实现自己的调度策略。 p b s 的主要特点:代码开放,免费获取;支持批处理、交互式作业和串行、 多种并行作业;提供t c l 、b a c l 、c 三种过程语言,容易实现新的调度策略; 提供文件传送功能,f i l es t a g e i n 和s t a g e o u t ;满足p o s 1 0 0 3 2 d 标准;支持作 业依赖;自动的负载平衡;完整的安全认证;提供了完整的a p i ,方便新的调度 器的开发;提供用户影像功能,使p b s 能用于用户不一致的系统中。 l s f ( l 0 a ds h 撕n gf a c i l i 哆) :负载共享软件l s f 是由加拿大平台计算公司 西北t 业大学硕七学位论文第一章绪论 研制与开发的,由t o r o n t o 大学开发的u o p i a 系统发展而来。从强大的功能和广 泛使用的角度看,l s f 可谓是一个成熟的作业管理系统,它包括l s f j o b s c h e d u l c 一“】组件,该组件是一个分布式的作业调度器,它能将异构服务器集 成为一个虚拟主机或虚拟超级计算机。在使用范围上,l s f 不仅用于科学计算, 也用于企业的事务处理。用户包括摩托罗拉、美国宇航局( n a s a ) 、休斯敦飞 机公司、通用电气公司、斯坦福大学等著名企业与科研团体。功能上,除了一般 的作业管理特性外,它还在负载平衡、系统容错、检查点操作、进程迁移等方面 作了很好的努力,并力图使之实用化。 l s f 的主要特点:支持多种操作系统,包括n t 和w 玳2 0 0 0 ;支持检查点操 作( 核心级、用户级及应用程序级) 和进程迁移;具有高可用性,消除单一故障 点;提供了抢占式调度和关键资源保障,保证紧急作业的调度;可通过逻辑表达 式创建作业依赖图,提供对依赖性作业的支持;提供了多种调度策略,包括 r c s e r v a l i o n 和b a c k f i l l ;动态的负载平衡与负载监测,负载指标包括节点状态、 运行队列长度、c p u 利用率、分页速率、登录用户数、空闲时间、可用交换空 间、可用存贮器、恤p 目录下的可用空间;提供了完整的负载共享库;具有强大 的资源管理功能。 l o a d l e v e l e r :l o a d l e v e l e r 是m m 开发的作业管理系统。它成功地运行 在m ms p 2 系统上。l 0 a d l e v e l 盯允许用户在同构或异构的系统中提交交互式于比 处理作业。除了m ma 操作系统外,它还支持i 玎,u x 、s g i 瓜、s u n o s 和s o i 。a r i s 等主流l ,n 平台。在教育、研究机构、企业等各行各业,l o a d l e v e l e r 以其灵活高效的特点得以广泛应用,例如大规模的仿真、资源的优化利用、天气 预报、地层模拟、经济分析等。 l o a d i ,e l i 双的主要特点:支持并行串行,交互式,批处理作业;对工作 站主人的影响小;可定义作业类,优化调度;具有较好的系统可用性;系统中心 控制;完整的文档;分布的用户服务器;提供完整的a p i ;与n q s 兼容。 c o n d o r :c o n d o r 是由威斯康星大学开发的作业管理系统。充分利用工 作站的空闲时间是c o n d o r 的最显著特征。c o n d o r 管理的集群由网络中的 工作站组成。工作站主人可以自愿加入或退出。c o n d o r 监测网络中所有工作 站的状态,一旦某台计算机被认为空闲,便把它纳入到资源池( p 0 0 l ) 中。在 资源池中的工作站被用来执行作业。当工作站的主人开始使用该工作站时, c o n d o r 便将运行在该工作站上的作业迁移到其它节点上继续运行,从而避免 了对工作站主人的影响。所有这些特征并不需要修改底层的i 腑x 操作系统核 心,只需在用户级进行,而且不需修改用户程序,只需与c o n d o r 提供的库函 数重新链接。 2 两北工业大学硕士学位论文 第一章绪论 c o n d o r 的主要特点:充分利用工作站的空闲时间;用户只需与库函数重 新链接便可利用c o n d o r 提供的检查点和进程迁移功能;对于远程执行的进程, 本地的执行环境被保留;工作站主人对该工作站拥有最高优先级和完全的控制 权;作业保证彻底完成,不会因为系统的故障或工作站的退出而终止;本地磁盘 空间不会被c o n d o r 作业所占用;对网络资源、数据传送和检查点操作的有效 监控;对网络资源、c p u 的协同调度。 本文主要介绍国内少有的几种作业管理系统之一。本文所介绍的作业管理系 统是西北工业大学软件工程中心和国外某知名公司从9 7 年开始合作研究的一种 网络作业管理系统,是面向商业化的新一代作业管理系统。本文作者在参与该作 业管理系统的研发过程中,参与分析了作业管理系统的体系结构与实现方法,从 整体上理解作业管理系统的设计与实现,并完成了部分作业管理系统的一些增强 功能的具体实现。 网络作业管理系统一般具有典型的c l i e 州s e r v e r 结构,s e e r 端的功能主要 包括批处理排队、作业调度、作业执行及资源管理等,c l i e m 端的功能主要包括 作业定义、启动与服务器的通讯、作业执行状态察看及控制等。在s e r v c r 与c l i e n t 之间,采用t c p 仰网络连接协议及与平台无关的数据通讯协议。网络作业管理 系统涉及并行编程技术、并行机环境、事务处理、网络协议、数据库系统、网络; 文件系统等多个技术领域【1 5 】。本文对作业管理系统一些增强功能以及部分优化 来进行分析,研究作业管理系统的实现机制。 1 2 本文主要工作 在作业管理系统的研发过程中,笔者参加了多个版本的研发工作,主要参与 作业管理系统客户端的研究与开发,本文的主要工作如下: 1 系统负载平衡机制的研究。分析了系统负载平衡的底层支持网络队 列系统n q s ;深入讨论了作业管理系统下各种负载平衡算法,诸如静态 负载平衡和动态负载平衡算法,同时给出了动态负载平衡算法的实现过 程。在动态负载平衡算法研究的基础上,提出了一种改进的动态负载平 衡算法,即基于请求预约机制的算法,避免了负载请求在机器间的无用 迁移,并给出了该算法下,负载请求的分散过程。 2 多用户访问本作业管理系统并发机制的研究与开发。分析了本作业管理 系统下,多用户并发访问的必要性以及并发访问遇到的问题及解决办法, 进而提出了两种多用户并发访问的封锁机制,并给出了这两种机制的评 价。 西北t 业大学硕士学位论文第一章绪论 3 系统的安全性研究。首先研究了w i n d o w sn t 系统的安全性策略,其次 从系统登陆,用户分级控制以及文件安全性三个方面阐述了本作业管理 系统的安全性策略。 1 3 本文的组织结构 全文的组织结构如下: 第一章:绪论 介绍本文的研究背景、主要工作及组织结构。 第二章:作业管理系统概述 首先介绍了作业管理系统的发展历史及发展趋势;然后着重讨论了 作业管理系统的功能、系统构成以及主要的数据操作对象。 第三章:网络负载平衡机制的研究 分析了系统负载平衡的底层支持网络队列系统n q s ;深入讨 论了作业管理系统下各种负载平衡算法。在动态负载平衡算法研究 的基础上,提出了一种改进的动态负载平衡算法,并给出了该算法 下,负载请求的分散过程。 第四章:多用户访问的并发控制 分析了本作业管理系统下,多用户并发访问的必要性以及并发访问 遇到的问题及解决办法,进而提出了两种多用户并发访问的封锁机 制,并给出了这两种机制的评价。 第五章:作业管理系统的安全性研究 首先研究了w 砌o w sn t 系统的安全性策略,其次从系统登陆,用 户分级控制以及文件安全性三个方面阐述了本作业管理系统的安 全性策略。 结束语:总结了本文所取得的成果,并指出系统需要完善的地方。并对今后 的发展前景作了展望。 1 4 小结 本章主要介绍了网络作业管理系统的研究背景,笔者所做的主要工作以及本 文的组织结构。 4 西北1 = 业大学硕士学付论文第二章作业管理系统概述 第二章作业管理系统概述 作业管理系统发展到今天,国际上已经出现了许多优秀的版本,各有特色。 但国内在该领域的发展较为缓慢。本章首先从作业管理系统的发展历史和发展趋 势的介绍入手,对目前常用的作业管理系统给予简要评价,重点介绍了本文作者 所实际参与开发的网络作业管理系统产品。本章描述了作业管理系统功能特点以 及系统构成,介绍了作业管理系统中各个功能模块之间的关系,并重点介绍了本 作业管理系统的数据操作对象,刻画了本系统客户端界面的操作方式,从而描绘 了网络作业管理系统的轮廓。 2 1 作业管理系统的发展简史 u l l i 】【操作系统是最早用于实现作业管理功能的操作系统,但u m x 作业管理 功能存在着严重的不足。由于u i l i 】【主机通常昼夜运行,在大多数的非工作时间 里系统资源无法得到有效利用,因此产生了“在以后某个时刻执行作业”、“在资 源得到满足的情况下执行作业”、“按某种时间周期有规律地执行作业”等作业管 理的思想,并将这些想法用a t ,b a t c h ,啪n 三个命令实现。( 1 ) a t 命令一旦将作业 投入运行就无法对作业的执行过程进行控制,用户只能在作业完成后查看执行结 果:( 2 ) 砒系列命令并不关心作业运行时系统的负载情况;( 3 ) c m l l ,a t 只能在一台 u l l i x 主机上运行,对于网络环境无能为力。 由于以上的原因,当大量的实际应用要依赖于u n i ) 【时,就需要对p o s 标 准及u m x 的扩展,使之能够更加有效地满足批处理作业管理的要求。大型机上 的计算任务被分散在多台工作站上执行,人们使用自己桌面上的台式机完成了更 多的任务。但经过调查发现,工作站的资源利用率却很低( 据美国l o s 舢锄o s 国 家实验室的一项调查表明,平均利用率不到总资源的1 0 9 幻,通常一台工作站任 务繁重,而另一台工作站却处于闲置状态。另外,从系统运行时间看,在一周 1 6 8 个小时中有效的工作时间往往只有4 0 多个小时左右,造成了资源的严重浪 费【1 6 】。为了能够更加有效的利用计算机网络和工作站系统的能力,人们扩展了 批处理系统,出现以批处理队列系统a _ c c hq u e i l i n gs y s t 锄) 为代表的传统的作业 管理系统。b q s 的前身是美国军方b a l l i s t i cr e s e a r c hl a b o r a l o r y 开发的批处理队 列系统m d q s 哗u l t i p l ed c v i c eq u 砌n gs y s t 锄) 。但该系统不能满足 n a s a ( n a t i o i l a la e r o n 肌t i c s 柚ds p a c ea d i i l i n i 咖t i o n ) 对作业管理及设备管理的高 性价比需求,于是n a s a 与其他软件公司在1 9 8 6 合作开发出了n q s 。 由于该 西北t 业大学硕十学位论文第二章作业管理系统概述 系统的广泛使用,e e 已经将n q s 确立为p o s 标准的一部分,即p o s 1 0 0 3 2 d ,b a t c hq u e 血ge x t e 璐i o 璐f o rp o r c a b l co p e r a i i n gs y s t c i i l ”。当p o s 1 0 0 3 2 d 标准制订完成后,新出现的作业管理系统基本上都遵守了该标准的规范, 但大多数系统并没有采用基本n q s 的结构与源代码,只提供了标准所要求的外 部接口,并对作业管理系统的功能进行了很大的扩充。 到8 0 年代以后,计算机网络技术和分布式计算技术更为成熟。人们通过扩 展n q s 系统,或者重新定义和设计,研制了多种现代作业管理系统的产品。由 n q s 系统发展起来的有c f a y 公司开发的n q e ( n c 柳o r kq u e u i n ge n v 的姗删。 n a s a 与m r j 公司在n q s 基础共同开发了p b s ( p o n a b l eb a t c hs y s t 锄) 。另一个 主要分支是c o n d o r 产品,m m 公司著名的作业管理软件l o a d l 删e l e r 就是在 c o n d o r 的后继u 玎i j e s 的基础上发展起来的。德国g e n 队s 软件公司的c o d 矾e ( c 伽叩u t i n gi i ld i s 仃i b u t e dn e t 、阳r ke n v i r o n n l e m ) 是在c 0 n d o r 和d q s 基础上推 出的。目前己发布最新版资源管理系统i t m sc o d 玳e 和补充的全局资源控制器 g r d ( g 1 0 b a lr e s o u r c ed i r e c t o r ) 。另外,目前比较流行的网络负载平衡产品 l s f ( l o a ds h a r i l l g i l i 劝是由加拿大p l a o 彻公司在u t o p i a 基础上开发的。 目前,随着计算机网络技术的发展和对网格技术研究的深入,基于网格技术 的作业管理系统的研制工作也开始起步,但尚处于开始阶段。现有的网格系统对 作业管理的功能还不够强,一般只支持批处理作业,没有独立的作业调度模块, 对作业的调度往往由资源调度模块来完成。因此,对于基于网格的作业管理技术 的讨论,还有待更加深入的研究。 2 作业管理系统的发展方向 应用始终是发展的源动力,作业管理系统同样是一个随着应用需求推动而不 断发展的系统。随着集群技术和网格计算的发展,作业管理系统在提供更完善的 功能的同时,也在向资源管理系统r m s ( r c u r c e m 觚a g 锄锄t s y s t 锄) 进行演 化。当网格计算技术日渐成熟后,作业管理系统可能就进化为网格管理系统 g m s ( g 谢m a i l a g e m e ms y s t c i n ) ,c o d 矾e 【”壕统的出现就已经说明了这一点。 今后,对作业管理系统研究主要集中在如下几个方向: 开放接口支持:作业管理系统必须提供一套应用程序接口a p i 来支持高层 的应用程序地开发。作业管理系统作为一种系统地中间件,为实现用户的透明访 问,可以为用户提供开放的接口来制定作业管理策略。这样,用户可以动态的定 制自己的作业管理行为。 资源全局控制:作业管理系统必须不仅能做到与单个作业相关的资源控制, 6 西北t 业大学硕十学位论文 第二章作业管理系统概述 还必须考虑到整个系统的资源的管理情况。目前的作业管理系统都不能完全的实 现资源的全局控制,所以,今后的作业管理系统将会做到类似于大型机操作系统 对整个资源的全局控制。 并行环境支持:目前对并行环境的一种处理方法是将并行环境的启动或停止 脚本交给作业管理系统,来运行并行程序,这是一种松耦合方式。另一种方法是 作业管理系统支持并行环境接口,将并行程序运行在作业管理系统的上下文环境 中,这是一种紧耦合方式1 1 引。以后的作业管理系统将继续支持更多的并行环境, 并透明地将并行环境嵌入到作业管理系统中,从而得到一种更好的集成方式。 数据库支持:作业管理系统与数据库相结合是作业管理系统发展的必然结 果。功能比较全面的作业管理系统必须提供与数据库系统集成的接口,这样就充 分发挥网络负载平衡和数据库信息处理的能力,为企业级的信息处理提供良好保 证。 h l :沱“l e t 支持:h 衙n e t 的发展十分迅速,有效地帮助了作业管理系统将不同 地区的资源整合起来给用户一个透明的访问方式。而目前的作业管理系统仅局限 于局域网计算环境。要支持广域网,就会产生安全性、远程文件系统、记账信息 和网络带宽问题。u m c o r e 科研项目就着重解决这些问题,从而为支持广域网 探索道路。 集成操作系统:作业管理系统的主要功能正在向操作系统集成。现代操作系 统提供越来越多的作业管理功能,支持负载平衡和集群管理。以后,可能是这样 两种趋势,一方面常用的功能成为操作系统的一部分。另一方面,作业管理系统 仍然独立发展,但会提供给用户更加有效和人性化的作业和资源管理。 2 3 系统功能概述 网络作业管理系统是建立在操作系统之上的一类系统软件,它是处于应用软 件和系统软件( 操作系统、网络协议、数据库等) 之间的一种中问件【1 9 】。它屏 蔽了环境底层的复杂性,为应用开发者提供了统一的、功能强大的a p i ,使应用 开发者只专注于业务逻辑的开发,快速地开发出可靠、高效的企业级分布式应用。 网络作业管理系统具有典型的客户服务器结构,客户端提供友好的交互界面, 帮助用户完成作业管理及系统管理功能;客户端采用多语言开发技术,具有中、 日、英三种语言版本;服务器端的底层采用扩展的网络队列系统( n q s ) 实现集群 计算机系统的负载平衡,使用户可以最大限度地利用集群计算机系统环境中的各 种计算资源,提高作业执行效率,降低计算成本,同时,集群技术的应用也使得 系统具有很高的可靠性客户端和服务器端的接口采用w i n d o w ss o c k e t 机制实 7 西北t 业大学硕士学臂论文第二章作业管理系统概述 现客户端与服务器的通讯。 本作业管理系统具有以下主要特点: 1 多语言的图形界面 本系统客户端的g u i 界面目前提供中、日、英三种语言支持,可供不同地 区和国家的用户选择使用。g u i 界面操作直观、易用,涵盖了客户端所有功能。 用户可以方便地使用图形界面来定义、修改、投交作业;监视和查询作业网络的 执行情况;对执行过程中的作业进行控制;可以刨建、修改、删除日历;设定作 业的执行时刻表;对整个服务器集群进行管理等。 2 具有动态负载平衡的功能 本系统能够充分利用集群系统资源,防止系统中节点间的负载出现严重不平 衡。可以在一个集群范围内通过合理的作业调度和分配策略,保持各结点负载基 本平衡。动态负载平衡功能是本文研究的重点之一,后续的章节中将对动态负载 平衡功能进行详细阐述。 3 支持集中管理功能 本作业管理系统的客户端界面提供管理和监视所有的网络服务器中作业的 执行情况的功能,通过查看作业网络的执行轨迹( t r k e r ) 进行查看本作业被执行 的状态。支持与大型机类似的集中模式来管理整个集群网络,可以检查过去、当 前和将来时间段的所有作业调度,可以对集群中的作业进行控制操作,例如可以 对正在执行的作业网络执行“停止”操作;对出错的作业网络执行“跳过”操作; 对已经完成的作业网络执行“重新运行”操作等。 4 支持复杂作业的定义 本系统支持复杂作业的定义,复杂作业可以视为作业依赖关系的一个扩展, 其中可以包括顺序、并行、分支、等待、循环、父子作业嵌套等多种依赖关系。 用户对复杂作业的管理和控制,同操纵一个简单作业一样方便。 5 支持以日历的方式投交作业 用户可以通过本系统提供的图形界面,方便地创建和修改用于定时投交作业 的日历,日历包括工作日历、节假日历。在工作日历上还可以定义作业执行的规 则,扩展作业的定时投交和定时执行功能,即允许作业以每分,每时,每天,每 周,每月,每年或者某个给定时刻的形式进行提交。例如,可以定义规则为每周 三的1 8 :o o 开始投交某作业,那么系统会在该规则下定时的投交。 6 提供查看和跟踪工具 本系统为系统的每个事件都保留日志( 1 0 9 ) 数据,以备错误恢复时使用; 同时也对所有作业的详细信息进行记录,以供审计使用。系统还提供了相关的工 具,来帮助用户分析、统计相应数据,为计划系统容量、计划系统升级和消除系 8 西北工业大学硕士学位论文第二章作业管理系统概述 统瓶颈提供一定的依据。 7 支持异构系统集成 本系统为异构的i 烈和n t 系统提供了单一的系统映象,1 】n 和n t 系 统可以包含在一个虚拟大型机中,用户可以使用任何一个机器作为虚拟控制台, 来监视、控制和执行整个网络上的作业请求和数据处理。 2 4 系统构成及调用关系 在2 3 节提到,本系统是一种建立在操作系统之上的系统软件,是介于操作 系统和应用软件之间的中间件。作为中间件的本作业管理系统采用层次结构,主 要层次如图2 1 所示。 由客户端( c l 瓜砀) 发来的命令,先由命令引擎( c o m a g e n t ) 进行分析后 交由网络作业引擎( j n w e l l g i l l e ) 处理分流,最终将命令交由系统的底层支持一 一网络队列系统( n q s ) 对作业进行调度,对作业中的具体请求调用操作系统处 理。 图2 一l 系统层次模型 主要功能模块间的调用关系【加】如图2 2 所示。 各主要模块的功能和实现过程介绍如下: 通讯代理( c 叫认g e m ) :是客户端和服务器端的接口,并完成网络用户的登 录验证。它是一个常驻内存的服务程序,主要用于远程服务。 以下详细论述通讯代理c o m a g 朗t 的工作过程: 1 ) 用户投交作业后,客户端的通讯代理c 认g e n t 获取作业的句柄,检查 机器组中的负载情况从而决定负载在哪个结点上执行。 2 1 如果决策的结果是远程结点,将发送请求执行远程调用。发送消息后, 客户端将堵塞自己以等待执行结果。 9 西北工业大学硕士学位论文第二章作业管理系统概述 图2 - 2 模块调用关系 3 ) 远程服务器端的通讯代理c o m a g e n t 将自己阻塞等待消息到达。消息到 达后,拆开信包从中取出客户命令及参数。 4 ) 当消息到达远端服务器端后,该端的c o f n a g e n t 将消息传送给与实际服 务器进程相捆绑的执行服务器( j n w 髓g i n e ) ,即作业管理系统的作业引 擎;若消息为n q s 命令则直接交由底层n q s 处理。 5 ) 消息送回客户端相应的通讯代理c 认g 衄t 客户进程,执行结果被拷贝 到等待缓冲区中,客户端c o m a g e n t 进程解除阻塞,检查并拆开信包, 取出结果,并将它拷贝到要求执行命令的用户进程的缓冲区中,然后以 一般方式返回。 6 ) 服务器端回到阻塞状态,等待下一条消息。 这样对执行命令的用户进程而言,它并不需要关心执行命令的服务器在哪一 台机器上。远程服务可以通过本地提交需要服务的命令实现。 命令分发模块( j w m n ) :它在网络作业管理系统中相当于一个转接中心, 所有的0 r b 协议的命令请求都首先通过该模块进行解析后,然后根据所属类别 调用相应的其它模块进行处理,其中,j n w m m 模块本身也处理部分作业请求。 例如,创建一个作业网络,将作业网络信息载入服务器端。j i l 砌锄模块将命令 l o 西北1 :业大学硕士学位论文 第二章作业管理系统概述 j n w e n g i n e 模块进行作业分流,交由该模块进行作业请求的后续操作。 网络作业引擎( j n w e n g i n e ) :系统的事件分发中心,用于将作业分发给相关 的模块进行处理。j n w e l l 百n e 程序是一个常驻内存的服务程序,用来随时处理来 自用户的执行请求。当j n w e n 画m 程序接收到用户作业网络的执行请求时,就分 析该作业网络的结构,通过分析,将作业网络解析成一个个可具体执行的作业实 体,再根据每个作业的相应参数投交到相应的队列中。 日历引擎( c a i e n d 盯) :日历调度模块,完成用户作业的定时投交功能。它 是一个常住内存的服务程序,根据客户设定的日历调度规则来调度作业网络,使 其在客户指定的时间执行。它首先解析客户设定的日历调度规则,将规则分析为 指定时刻。然后按照所解析出的时刻定时投交作业网络。c a l 锄d a r 模块每过一分 钟,将根据日历调度规则重新刷新它的执行时刻表。 网络队列系统( n q s ) :是网络作业管理系统的底层支持,是对作业( j o b ) 管理的核心部分。它提供了队列、作业、机器管理等服务最底层的支持,也承担 着作业调度,平衡负载的任务。第三章详细介绍。 t r a k e r 检索模块( 1 h s 比h ) ;用于显示提交的作业网络轨迹( t r a k 盯) 的状态。 对于未打包的t r a l 【e r ,在系统所在目录中找到相应的t r a l ( e r 目录,读出文件中的 相关的内容并显示,对打包的i m c k e r ,在打包文件中查找。 作业打包模块( m k p a k h ) :对用户的i i a l ( 盯打包,创建包的索引。根据打 包的时间规则,定时将t r a k 盯写入打包文件中。 2 5 系统的操作对象 本节主要介绍本作业管理系统的主要操作对象的概念,例如作业网络、作业 轨迹、日程表等,这些概念在后续的章节中都有部分涉及。 为了引入作业管理系统的基本操作对象作业网络的概念,首先要先了解 作业网络的基本组成元素单元作业的概念。单元作业是n q s 系统可直接运 行的s h e l l 脚本文件,在黜w sn r 上是后缀为b a t 批处理文件。这些是作业 被执行的基本单位。单元作业有以下的类型: 1 单位作业 即n q s 系统可直接运行的s h e us c r i p t 文件,在w i n d o w sn t 上是后缀为b a t 批处理文件。 2 对话作业 当作业网络执行到对话作业时,将停止执行等待用户的回答。用户可以回答 “o k ”或“e r r o r ”,当回答“o k ”时,对话作业的退出码设置为0 :当回答“e n d r ” 西北工业大学硕十学位论文第二章作业管理系统概述 时,对话作业的退出码设置为1 。 3 s a p 作业 该作业是为德国s a p 公司专门设计的。它可以编写可执行内容,由s a p 公 司提供的软件来解释执行。 4 子作业网络 也是一个作业网络,作为一个单元作业来执行,也即是作业网络的嵌套。 5 条件分支作业 它根据前一作业的终了状态来决定作业网络的执行走向。它可以有多条分 支,当是两条分支时,相当于i f 二h u e f a l 的逻辑;当有多条分支时,相当于洲i t c h 的逻辑。 6 并行作业 并行作业可以有二到多条的分支,在每一分支上的作业可以并行执行,互不 影响。 7 日历分支作业 根据所指定的日历来决定作业网络的执行走向。 日历作业只有两条分支,当执行日在日历上是工作日是,走第一条分支;是 休息日时,走第二条分支。 8 连续作业 连续作业可以指定跳转的目标作业,及重复的次数。 跳转的目标作业只能是单元作业、对话作业和s a p 作业。当作业网络执行到连续 作业时,跳转到连续作业指定的目标作业,作业网络从目标作业开始执行。 9 单元作业等待作业 指定一单元作业作为等待的目标,作业执行到等待单元作业时,必须等待目 标作业的完成,才能继续执行。 1 0 子j n i r 作业等待作业 指定一个子作业网络作为等待的目标,作业执行到子j n w 作业等待作业时, 必须等待目标作业的完成,才能继续执行。 1 1 外部文件等待作业 等待指定的外部文件处于所规定的状态时,作业网络可继续执行。如果等待 条件设置为“存在”时,等待外部文件作业将等待直到指定的外部文件被生成; 如果等待条件设置为“不存在”时,等待外部文件作业将等待直到指定的外部文 件被删除;如果等待条件为“更新”时,等待外部文件作业将等待直到指定的外 部文件被更新。 1 2 西北工业大学硕十学位论文第二章作业管理系统概述 1 2 时间等待作业 作业将一直等待直到指定的时间。该时间可以设置为绝对时间或相对时间。 以上介绍了本系统的运行对象:单元作业的概念。作业网络,顾名思义,就 是由一系列单元作业按照一定的逻辑关系组成的一个作业序列。一个作业网络包 括了所有要执行的单元作业和这些单元作业间的依赖关系( 顺序、条件、并行、 等待等依赖关系) f 2 “。图2 - 3 显示了一个作业网络中各个单元作业的依赖关系。 图2 3 作业依赖关系 用户要使用该系统执行作业时,首先要使用客户端软件创建一个作业网络, 同时还可以设置与该作业网络关联的日历规则、作业属性等诸多信息。一个作业 网络如果与一个日历建立了联系以后,可以通过创建一些日历规则来提前设置作 业网络的执行时间。例如,可以指定日历规则为每周四的8 :0 0 开始执行该作业 网络,那么作业网络会在该时间按时投交。日历也是本作业管理系统的操作对象 之一。 创建好的作业网络提交到本作业管理系统的服务器后,用户可以在客户端监 视作业执行过程、检查作业当前状态、查看作业执行结果以及对执行过程中的作 业进行多种形式的实时控制。用户在客户端所监视的对象就称为作业执行轨迹 ( t r a c k c r ) 。1 h c k c r 反映了作业在被执行的过程中所处于的状态,例如,“等待”, “执行”,“完成”,“出错”,“跳过”等。用户也同样可以在客户端对t r k e r 进 行控制,例如,可以使处于“等待”状态的1 r a c k e r 立即投入运行,可以使“出 错”的t r k e r 跳过出错点继续执行,也可以使处于“

温馨提示

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

评论

0/150

提交评论