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

(计算机软件与理论专业论文)网络作业管理系统的研究与实现(1).pdf.pdf 免费下载

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

文档简介

西北工业大学硕士论文 摘要 随着计算机技术的发展,高性能的微处理器和高速计算机网络不断出现, 使得把由大量c p u 组成的计算系统通过高速网络连接在一起成为一件容易的事 情。j m s 作业管理系统就是一种建立于操作系统之上,对连接在个集群中的工 作站或p c 进行管理的中间软件。它是个综合型的商业化作业管理系统,该系 统不仅具有一般作业管理系统的分布操作、资源共享、负载平衡特点,还具有良 好豹操作性、高可靠性翮可扩充性。 笔者对这一系统进行了大量的分析和研究,发现j m s 作业管理系统系统的 原有客户端n s c l 只能在局域网范围内对该系统进行访问,鉴于目前i n t e r n e t 应 用的高速发展,以及客户的需求,设计开发了该系统的w e b 客户端和用于i - m o d e 手机浏览的w e b 客户端,在实际的开发过程中笔者意识到w e f t 服务器本身的 负载过高这一问题,提出将整个系统的通讯模块进行单独设计,一个称为 c o m c l i e n t 的通信模块成为设计的重点,它作为一个中间的通讯模块既与作业管 理系统的服务端进行通信,又与所有的c g i 程序进行通信,并且为实现这个模 块与c g i 程序之间的通信设计了一套详细的通信协议。该模块最终在n t 和 u n i x 平台上得到实现。 针对传统作业管理系统在安全性上的问题,结合n t 操作系统,笔者给出了 在n t 平台上实现安全性的方案,并结合w e b 客户端静特点在客户端对安全性进 行增强。 关键词作业管理系统w e b集群作业作业网络负载平衡 西北工业大学硕士论文 a b s t r a c t w i t ht h e d e v e l o p m e n t o ft h e c o m p u t e rt e c h n o o g y a n dt h e h i g h p o w e r e d m i c r o p r o c e s s o r a n d h i i g h s p e e dc o m p u t e rn e t w o r k i th a st u r n e dt ob ea r te a s yt h i n gt o c o n s t r u c tc o m p u t e rs y s t e mc o n s i s t i n go fal a r g en u m b e ro fc p ub yh i g h s p e e d n e t w o r k n c t w o r kj o bm a n a g e m e n ts y s t e mi sak i n do fm i d d l es o f t w a r et h a tf o u n d s u p o n t h eo p e r a t i n gs y s t e m a n dm a n a g e st h ew o r k s t a t i o n so rp c so ft h ec l u s t e r t h e j m si sac o m p r e h e n s i v ec o m m e r c i a lj o bm a n a g e m e n ts y s t e m i tn o t o n l yo w n s g e n e r a lc h a r a c t e r i s t i c so fj m s ,i n c l u d i n gd i s t r i b u t e p r o c e s s i n g ,s h a r e dr e s o u r c ea n d l o a db a l a n c i n ge t c ,b u ta l s dh a st h em e r i t so fh i g hr e l i a b i l l t y ,e x p a n d a b i l i t ya n d o p e r a b i l i t y t h r o u g ht h er e s e a r c h i n go fn e t w o r kj o bm a n a g e m e n ts y s t e m ,t h ea u t h o rf o u n d t h a tt h eo r i g i n a lc l i e n tn s c lc a no n l yu s ei nl a n e n v i r o n m e n t c o n s i d e r i n gt h e h i g h - s p e e dd e v e l o p m e n to f t h ei n t e m e ta p p l i c a t i o na n dt h er e q u i r e m e n to ft h eu g e r , t h ea u t h o ro ft h ed i s s e r t a t i o nd e v e l o p e dt h ew e bc l i e n ta n db m o d ec l i e n tf o rm o b i l e t e l e p h o n eo ft h i ss y s t e m d u r i n gt h ec o u r s eo fd e v e l o p i n g ,h ec o n s i d e r e dt h a tt h e h e a v yl o a dw a saq u e s t i o no ft h ex v w ws e r v e r s oh eb r o u g h tf o r w a r dt od i v i d et h e w e bc l i e n ts y s t e mt ot w o p a r t s t h ec o m m u n i c a t i n g m o d u l en a m e dc o m c l i e n ti st h e d e s i g ns t r e s s ,w h i c hc o m m u n i c a t e sw i t hi o bm a n a g e m e n ts y s t e r ns e r v e fa n da i jt h e c g ip r o g r a m s ,t oi m p l e m e n tt h ec o m m u n i c a t i o nb e t w e e nt h i sm o d u l ea n dt h ec g i p r o g r a m s ,as e to f d e t a i l e dc o m m u n i c a t i n gp r o t o c o l sh a v eb e e nd e s i g n e d a tt h es a m e t i m e ,d u r i n gt h ec o u r s eo fd e v e l o p i n gt h ep r o j e c t ,t h ea u t h o ra n a l y z e da n dc o m p a r e d a l lt h ed e s i g np a t t e mo ft h es e r v i c ep r o g r a m s ,a n ds e l e c t e dt h eo p t i m i z e dp a t t e r nt o i m p l e m e n t t h es y s t e m t h em o d u l ec a nb eu s e di nn ta n du n i x o p e r a t i n gs y s t e m i no r d e rt oi m p r o v et h ei m p e r f e c t i o no f s e c u r i t yi nj m s aw h o l es e c u d t ys o l u t i o n p o w e r e db yw i n d o w sn to p e r a t i n gs y s t e mh a sb e e nr e a l i z e d c o n s i d e r i n gt h e c h a r a c t e r i s t i co f t h ew e b ,t h ea u t h o ri m p r o v e dt h es e c u r i t yo f i t k e y w o r d s : j o bm a n a g e m e n t s y s t e m ,w e b ,c l u s t e r , j o b ,j o bn e t w o r k , l o a db a l a n c i n g 西北工业大学 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间论 文工作的,i l l 议产权单位属于p q 北工业大学。学校有权保留并向国家有关部门或机构 送交论义的复印件和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文 的全部或酃分内容编入有关数掘库进行检索可以采用影印、缩印或扫描等复制手 段保存和“:编本学位论文。同时本人保证,毕业后结合学位论文研究课题再撰写的 文章一排注明作者单位为西北工业大学。 保密论文待解密后适用乖声明。 学位论文作者签名:缢出 矿年;月矽同 指导教师签名 即名年;月伽r 西北工业大学 学位论文原创性声明 泵承学校严谨的学风平优良的科学道德,本人郑重声明:所呈交的学位论文, 是本人存导师的指导下进行研究工作所取得的成果。尽我所知除文中已经注明引 用的内容和致谓 的地方外,本论文不包含任何其他个人或集体已经公丌发表或撰写 过的研究成果,不包含本人或他人己申请学位或其它用途使用过的成果。对本文的 研究做t 要贡献的个人和集体,均已在文中以明确方式标明。 奉人。位论文与资料若7 r 不实,愿意承担一切相关的法律责任。 学位论文作者签名:熬然 川年,月矿同 堕! ! 三些奎兰堡主堡奎 一 一 选题背景 前言 作业管理系统是建立在操作系统之上的一种资源管理软件。早期的作业管 理系统,是为了强化操作系统的批处理功能。随着计算模式从主机为核心转变 到网络为核心,导致了集群系统的产生与广泛应用,于是产生了建立在集群基 础上的现代作业管理系统。 近年来,国外对作业管理系统的研发工作直很活跃,世界上许多大学和 研究所都开展了对作业管理系统的研究工作,并且产生了许多公用和商业化的 作业管理系统,公用的免费系统如n q s 、p b s 、c o n d o r 等是由美国的一些大 机构或大学开发的,可以从i n t e r a c t 上直接获得它们的源代码。商业化的系统由 一些软件公司或硬件生产公司为自已的机器开发。如加拿大p l a t f o r m 公司的 l s f 、i b m 公司的l o a d l e v e l e r 等。 西北工业大学软件工程中心从1 9 9 7 年起开始研究的作业管理系统。该作 业管理系统具有一般作业管理的特点,即分布操作、资源共享、均衡负载,底 层支持系统使用n q s ( n e t w o r kq u e u es y s t e m ) 。并在此基础上提出了具有面向 对象组件风格的作业网络图的操作模型,它具有可用性、扩展性、分布式等特 点。 笔者于2 0 0 0 年初加入到了这个项目组中,对作业管理系统的s v 端进行了 大量的学习和研究工作并在2 0 0 0 年开始了该系统w e b 端的设计和开发,并 参与了系统安全性改善的工作。在2 0 0 0 年5 月根据i - m o d e 上网的标准在w e b 的基础上对其进行了精简和改进开发了i - m o d e 版的w e b 客户端,用于i - m o d e 手机上网。 本文的主要内容 第一章作业管理系统概述 本章介绍了作业管理系统的基本概念及其研究进展。并从总体上评价各作 西北工业大学硕士论文 业管理系统的功能。 第二章作业管理系统体系结构 本章对作业管理系统的体系结构进行剖析,描述了j m s s v 系统的总体结 构及其主要模块简介。并对作业网络进行了详细的介绍。 第三章j m s 系统的w e b 客户端 本章详细描述了笔者所参与的j m s w e b c l i e n t 系统的结构,介绍了 w e b c l i e n t 的g u i 部分的实现,并对其主要通讯模块c o m c l i e n t 的在n t 和 u n i x 实现进行了详细的说明,详细描述了一套通信协议的设计。对于客户服 务器模式中服务器端的设计方法进行了分析比较, 第四章作业管理系统安全性 介绍了n t 系统安全模型的基本概念,讨论了作业管理系统的s v 端和客 户端安全性的基本实现方案。 附录无线通信应用 附录给出了笔者在开发无线w e b 客户时参考的有关i - m o d e 的一些标准。 我的工作 在硕士论文撰写期间,笔者进行了作业管理系统的研发,并参与了j m s 系 统及其w e b 客户端的设计和开发。在本项目中,笔者主要作了以下几个方面的 工作; j m s 系统的测试。 j m s 系统n t 版w e b 客户端的设计与开发,包括应用于普通浏览器和i - m o d e 手机上的。 j m s 系统w e b 客户端( 包括i _ m o d e ) 向l i n u x 、s u n - - u n i x ,h p - - u n i x 移植。 w e b 客户端里的c o m c l l e n t 的设计和开发,以及后续的增强。 参与系统安全性的增强。 西北工业大学硕士论文 第一章作业管理系统概述 本章介绍作业管理系统的基本概念及其发展。在有了关于作业管理系统的 基本概念的全面认识后,开始后续章节详细阐述有关作业管理系统的体系结构、 服务端总体结构以及客户应用的实现。 1 1 作业管理系统发展概述 从计算机系统开始投入使用以来。人们就不断的寻求如何能更加科学、更 加合理、更加高效的利用计算机系统的方法。在以大型主机系统为主的年代, 人们使用批处理系统( b a t c hp r o c e s s i n gs y s t e m ) 等构筑与操作系统之上的方法或 分时系统来提高系统的利用率。随着计算机网络技术的产生和计算机系统系统 的小型化,资源共享的观念深入人心。为了能够更加有效的利用计算机网络和 小型工作站系统的能力,人们扩展了批处理系统,出现以网络队列系统( n q s ) 为代表的传统的作业管理系统批处理队列系统( b a t c hq u e u i n gs y s t e m ) ,并 且n q s 系统被确立为p o s l x 标准。到8 0 年代以后。随着个人计算机出现并在 全球范围迅速普及,个人计算机的硬件技术高速发展,个人计算机的计算能力 日益强大,计算机网络技术和分布式计算技术更为成熟。但是人们对计算机 系统的计算能力仍不满足,同时发现了个人计算机的使用上存在着巨大的浪费。 因而,人们通过扩展n q s 系统,或者重新定义和设计,出现了多种现代作业管 理系统的产品。j m s 系统就是其中之一,其它具有代表性的系统有i b m 公司的 l o a d l e v e l e r 、p l a t f o r m 公司豹l s f 、德国g n i a s 软佯公司的c o d i n e 、n a s a a m e sr e s e a r c hc e n t e r 的p b s 等等。 作业管理系统的主要作用是强化操作系统的作业管理功能,提供作业提 交、调度、执行及控制的新机制,更加有效地利用系统资源、均衡网络负载、 提高系统整体性能。作业管理系统最早在大型主机上使用,系统或用户提交的 作业在它的管理下以批处理的方式运行。随着高性能工作站、集群系统的发展, 作业管理系统也发展到支持异构的网络环境、支持多平台、支持并行应用等新 需求这样一个阶段。 西北工业大学硕士论文 1 2 作业管理系统基本概念及术语 作业管理系统涉及多个概念和术语,下面就这些概念和术语作简单的说 明。 作业( j o b ) :作业是一个会话组( 一个会话组是一组进程,会话组的成员进 程不能脱离会话组而存在1 。在操作系统上作业是一个s h e l l 语言程序,由系统 的命令解释器加载执行:在作业管理系统中,作业是系统管理的基本单位,它 与普通s h e l l 语言程序的不同之处在于增加了作业属性定义。 交互式( i n t e r a c t i o n ) :用户登录到操作系统,在一定的用户环境( 3 0 环境变 量、当前目录等) 中运行作业,作业在执行过程中,可能需要用户提供控制台输 入,用户也可以及时查看控制台的输出,这种运行作业的方式称交互式。 批处理( b a t c hp r o c e s s i n g ) :由操作系统上的一个子系统而不是由用户使用 交互式的会话过程运行作业的方式,称为批处理。这种子系统称为批处理服务 器。 批处理系统( b a t c hs y s t e m ) ;多台安装有批处理服务器的主机,通过网络 连接共同完成网络中的批处理作业,并被作为一个整体进行配置、管理,就形 成批处理系统。作业管理系统就是一个复杂的批处理系统,它除了能以批处理 的方式运行作业外,还能对作业调度、作业对资源的竞争、系统的负载等进行 全面控制。 节点( n o d e ) :运行一个操作系统、具有一个或几个i p 地址的台计算机稼 为一个节点。多机系统由多个节点构成。 集群( c l u s t e r ) :由个批处理系统管理的一组结点形成一个集群,集群 中的成员结点可以是同构的( 相同的机器硬件体系结构,相同的操作系统) ,也 可以是异构的( 或者机器硬件体系结构不同,或者操作系统不同) ,或是两者的 混合。一个集群可以由一组工作站、多处理机系统或并行系统的一组节点构成。 集群中的一个结点可以运行多个作业,也可以将一个作业分布在多个结点上运 行。 队列( q u e u e ) :批处理系统中设置的一种基本的作业分类机制,它将不同 属性的作业分成不同的集合,作业的属性与所参加队列的属性要求不能矛盾。 队列属性有名称、优先级、资源限制、目标机器和作业个数限制等。 并行作业( p a r a l l e lj o b ) :一个程序投入运行后,拥有多个并发运行的进程 分别驻留在不同的处理器上,并且进程间相互通讯完成数据交换,这样的程序 西北工业大学硕士论文 称为并行程序。并行程序在作业管理系统中形成的作业称为并行作业。 1 3 j m s 的功能 笔者参与开发的j m s 作业管理系统是西北工业大学软件工程中心与国外某 知名公司合作开发的。j m s 作业管理系统是基于网络队列系统n q s 系统开发 的,该系统主要面向商业应用,有着强大的功能,为企业级的网络作业管理提 供良好支持,在国外有着良好的市场前景。 1 3 1 全面的g u i 工具集 j m s 提供的g u i 图形用户接口工具可以完成命令行操作的所有功能,用户 可使用j m s g u i 来创建、管理、投交作业网络:允许用户监视作业网络的执行 情况,对执行过程中的作业网络进行控制;允许用户建立、修改、删除日历; 允许用户设定作业网络的执行时刻表;允许用户管理整个服务器机群。目前j m s 的w e b 客户端有w i n d o w s n t , h p u n i x ,s u n u n i x ,l i n u x 等版本。 1 3 2 全局日历调度 j m s 系统可以灵活地定义日历以驱动作业,用户使用j m s 日历定义的g u i 工具,就可以建立用户所需要的商业数据处理作业调度。 1 3 3 文件日志管理 j m s 产生作业网络的执行日志,用户通过日志文件可获得作业网络的整个 执行历史,执行走向。 1 ,3 4 事件日志 在w i n d o w s n t 操作系统上运行的j m s 系统可以向操作系统中的事件服务 中发送j m s 定制的事件。用户可通过查看事件服务来了解j m s 系统的运行情 况,是否有异常事件出现。 西北工业大学硕士论文 1 3 5 自动归档功能 在j m s 系统中执行数据是以目录文件形式保存,含有多种数据,占用硬盘 空间较大。当作业网络执行终了后对这些数据保存一定的时间后,进行归档 工作。将部分数据保存在统一的文件中,并删除其余文件,减小硬盘空间开销。 但对于归档后的作业网络是不在可以进行控制的。 1 3 6 指定式负载分散功能 用户可以通过对单元作业和作业网络属性的设置来指定单元作业和作业 网络的执行机器及机器上的某个队列a 这样,用户可以主动将负载分散到其它 机器上。 1 3 7 u m s 集中管理 在分布式环境中,跟踪所有的网络服务器和所有的作业是项繁重的工 作,使用j m s ,用户可以用与大型机一样的集中模式来管理整个网络。用j m s 监视和管理所有的服务器和作业,用户可以查看自己的“虚拟大型机”上的作 业,可以检查过去、现在和将来的作业调度。 1 3 8 作业网络 作业网络可以说是j m s 系统的最大特色之一。提供多种不同的作业类型 使得客户能使用系统定义非常复杂的商业逻辑。用户就可以建立复杂的作业网 络。( 这个将作为重点在第二章中有详细的描叙) 1 3 ,9 查看和跟踪工具 j m s 记录系统的每个事件以备错误恢复,它也记录所有作业的详细信息以 供审计。系统提供了相关的工具,可以用来分析、统计相应数据以帮助用户 计划数据处理、计划系统容量、计划系统升级和消除系统瓶颈。 西北工业大学硕士论文 1 3 1 0 自动负载共享 有了j m s 系统,无须用户分配作业到指定的机器上,系统也会自动匹配作 业的资源需求与可用服务器的能力和负载情况,系统还可以动态地调度作业到 最合适的服务器上运行。 1 3 1 1 u n i x 和n t 的异构系统集成 j m s 为异构的u n i x 和n 丁系统提供了单一的系统映象,u n i x 和n t 系统可以包含 在一个“虚拟大型机”中,用户可以使用任何一个台式机作为“虚拟控制台”,来监视和控 制整个网络上的数据处理。 西北工业大学硕士论文 第二章j m s 作业管理系统系统结构 2 i c i s 系统结构 j m s 作业管理系统是典型的客户i 服务器模型( c s ) ,采用客户服务器模型 可使客户尽量少了解实现细节,从而便于客户应用的开发。该模式具有不对称 性,即服务器不会主动询问客户的请求,而是被动地执行指定服务。适用于由 不同计算能力的计算机和设备组成的网络环境。使用c s 模型构造的应用,将 一个大任务分成服务器与客户机两部分由二者协作完成,这种分工协作可以 充分地发挥服务器的高性能和工作站的灵活、易用性,使两者的效用都达到最 高,使网络带宽资源的利用更加合理。其次,它具有面向对象的特点:由服务 器统一管理组对象,执行施加在对象上的操作:客户机要操作这些对象,只 能通过向服务器发送消息来实现,服务器执行完适当的操作后,将结果返回给 客户。使用c s 模型构造应用系统,具有很多优越性,这也是很多作业管理系 统都采用c s 模型的原因所在。客户机与服务器处理能力不同,他们共同分担 完成作业所需的计算机工作负荷。客户端软件提供g u i 界面供用户完成作业管 理的全过程,包括作业定义、提交、监控及完善的系统管理功能等,客户端软 件执行用户应用程序并提出作业请求,用户可使用客户端软件来操作整个作业 管理系统。服务器则负责解释客户端的请求信息并在本地进行处理和返回。 2 2j m s 的系统结构 下图表示了j m s 作业管理系统的结构。 西北工业大学硕士论文 图2 - ij m s 作业管理系统的结构 说明: 1 ) 客户端首先登录服务端,并提供用户帐户和口令。 2 ) 服务端启动用户认证过程,验证该用户的合法性,并返回认证结果 3 ) 客户端通过认证后,可以向服务端发出各种请求。 4 ) 程务端的a g e n t 模块是按受请求,并传给j n w r n a n 。l n w m a n 解析请 求并处理请求,同时将处理结果返回给客户端。如果是创建和载入作 业网络w 请求,则由j n w m a n 自身实现。如果是检索州w 的t r a c k e r 信息请求,则和t r k s r c h 模块合作实现这个请求。如果是客户发出的作 业执行或控制请衷,j n w m a n 将该请求提交绘j n w e n g i n e 来完成。同时, 日历调度功能也是由s c l a u n c h d 调用j n w m a n 来实现的。 5 ) j n w e n g i n e 执行作业请求,读入作业网络脚本文件,解释其流程并执行 作业网络。j n w e n g i n e 和n q s 层交互( 就是调用各种以字母q 打头 的n q s 命令) 。负责投交、控制和监视作业网络中单元作业,并更新 作韭网络的t r a c k e r 信息。 6 ) j n w e n g i n e 将单元作业投交到n q s 队列,由n q s 系统执行队列中的请求, 调度请求使网络负载平衡。同时,将作业的状态写入n q s 数据库,该 西北工业大学硕士论文 作业状态信息可以被t r k r d r 检索。 2 3 服务器端 2 3 1 服务器端主要模块的详细介绍 1 ) a g e n t a g e n t 、j n w e x e 和n q s 构成了服务端。a g e n t 模块是客户端和服务 端的接口,并完成网络用户的登录验证。 2 ) j n w e x e j n w e x e 层是一个比较大的层次所有主要的服务端功能要在这里体现。 在这一层要完成如下功能:( 1 ) 处理客户端对作业网络j n w ( j o b n e t w o r k ) 的投 交( 关于作业网络详情,请参阅第二章) 。( 2 ) 执行过程中对作业网络j n w 的 控制。( 3 对具体作业执行的状况进行跟踪。该层有如下六个模块;j n w m a n 、 t r k s r c h 、m k a r c 、j n w e n g i n e 、t r k r d r 和s c a t m c h d ( 其各模块相互关系请参考图2 1 ) 。 ( 1 ) j n w m a n 模块 a g e n t 层n q s 对象的j n w m a n 方法即是调用j n w m a n 程序与j n w e x e 层 交互,同时j n w m a n 应用程序验证和处理一些简单的客户请求。将其不能处理 的客户请求传递给j n w e n g i n e 和t r k s r c h 。 ( 2 ) t r k s r e h 模块 t r k s r c h 模块主要是用来检索t r a c k e r ( 跟踪情报) ,同时可对归档文件建立索 引。并通过它可删除归档文件中的指定t r a c k e r 。用户可提出各种检索条件, t r k s r c h 模块解释检索条件,并根据检索条件将用户所需的t r a c k e r 从目录或归 档文件中检索出。 ( 3 ) m k a r c 模块 m k a r c 模块主要功能是建立归档文件,并维护归档文件,同时它具有删除目 录及目录下所有文件的功能。当一执行作业执行完毕后,到达了归挡时间。首 先通过j n w e n g i n e 调用t r k s r c h 模块建立归档文件的索引,并通过t r k s r c h 模块 调用m k a r c 进行t r a c k e r ( 跟踪情报) 的归档,然后通过j n w e n g i n e 调用m k a r c 将t r a c k e r ( 跟踪情报) 整个目录删除。 ( 4 ) j n w e n g i n e 模块 j n w e n g i a e 模块是j m s 系统中执行核心。它箍理客户端对作业网络n w 的 投交及对执行过程中作业网络j n w 的控制。它是j m s 系统中唯一与n q s 层 有联系的模块。j n w e n g i n e 是常驻内存的d a e m o n 程序,随时处理从客户端发出 的作业执行及控制请求,并随时监视着n q s 系统的执行状态。 ( 9t r k r d r 模块 t r k r d r 从n q s 层的数据库中直接取得具体作业的运行状态信息,并将其返 回给j n w e n g i n e 模块。 西北工业大学硕士论文 ( 6 ) s c l a u n c h d 模块 s c l a u n c h d 即日历调度模块,它根据客户设定的日历调度规则来调度作业网 络,使其在客户指定的对河执行。它首先解析客户设定的日历调度规则,将缀 则分析为指定时刻。然后定时按照所解析出的时刻投交作业网络心w 。 s c l a u n c h d 每过一分钟。将根据日历调度规则重新刷新它的执行时刻表。这样, 客户对日历规则的修改,可及时被反映。 3 ) n q s n q s 层是j m s 系统的基础和核心,n q s 层本身实际上就是个功能基本 完善的网络作业队列管理系统。j m s 系统改造了n q s 子系统,扩展了n q s 子 系统的能力,使其更强大,更加适用于复杂的商业应用环境。 n q g 能处理三种用户定义的请求b 口批处理请求与设备请求以及用于传送 结粟的网络请求。批处理请求按照作业的功能定义技行。设备请求用于请求外 部设备,例如打印机。网络请求用来传递用户请求所产生的结果,用户不能提 出网络请求。 n q s 包括两种类型的队列:b a t c h 队列,p i p e 队列。其中,b a t c h 队列可分为 一般型b a t c h 以列和负载分散型b a t c h 队列( l b - b a t c hq u e u e ) 。在负载分散型 b a t c h 队列中的请求可以分散到负载较轻的本机队列中,而一般型b a t c h 队列不 可分散它的负载;p 噼队列可分为一般型p i p e 队列,透过型p i p e 队列( t r a n s p a t e m p i p eq u e u e ) 和负载分散型p i p e ( l b p i p eq u e u e ) 队列。负载分散型p i p e 队列可将 该队列中的请求分散到其它的机器上,而其它两种队列不可分散负载。p i p e 队 列中请求不能真正被执行只有转移到b a t c h 队列中执行。n q s 就是通过p i p e 队列和b a t c h 队列来完成网络及队列间的负载平衡。 西北工业大学硕士论文 2 3 2 作业网络详叙 图2 - 2n q s 队列功能示意图 1 ) 作业网络的介绍 j m s 作业管理系统扩展了作业问依赖关系。引入了作业网络j n w ( j o b n e t w o r k ) 来处理复杂作业。用户将单元作业( 即n q s 系统可直接运行的s h e l l s c r i p t 文件在w i n d o w sn t 上是后缀为b a t 批处理文件) 以一定的逻辑组成作业 网络j n w 。并将j n w 作为j m s 系统管理的基本对象。用户要使埒该系统执行 作业时,首先要使用客户端软件创建个作业网络m w ,一个j n w 包括了所 有要执行的单元作业和这些单元作业问的依赖关系( 顺序、条件、并行、等待 等依赖关系) ,同时还可以设置与该】n w 关联的日历规则、作业属性等诸多信 息。创建好的j n w 提交到j m s 服务器后,用户可以在客户端监视作业执行过 程、检查作业当前状态、查看作业执行结果以及对执行过程中的作业进行多种 形式的时时控制。多台j m s 服务器组成一个集群,用户提交给一台服务器的作 业可能在集群中任意一台机器上执行。以期达到集群系统中各机器的负载均衡。 这主要由各服务器的负载情况决定。 j m s 作业管理系统具有强大的g u i 界面,其中之一是它的作业网络定义。 西北工业大学硕士论文 它在对作业网络的定制如同制作一个流程图,使用拖放功能完成作业网络中各 简单作业间逻辑关系的定义,作业的属性定义也采用直观的选择、填表方式完 成,由客户端程序自动生成相关的记录文件一作业网络脚本、作业属性定义文 件。在j m s 中定义了以下1 4 种作业类型,通过这1 4 种作业类型,用户可容易 地建造所需的作业依赖关系。 i 单元作业( u n i t j o b ) : 即n q s 系统可直接运行的s h e l ls c r i p t 文件,在w i n d o w sn t 上是后缀为b a t 批处理文件。 单元作业包括两个文件: ( 1 ) 作业名b a t ,它是批处理文件,保存执行内容。 ( 2 ) 作业名p ,它保存用户对该单元作业所指定的参数。例如:单元作业投 入到的队列:运行的优先级;输出结果的保存文件等。 2 对话作业( d i a l o g ) : 当作业网络执行到对话作业时,将停止执行等待用户的回答。用户可以回 答“o k ”或“e r r o r ”,当回答“o k ”时,对话作业的退出码设置为o ;当回答 “e r r o r ”时,对话作业的退出码设置为l 。 3 s a p 作业( s a pr 3 ) : 该作业是为德国s a p 公司专门设计的。它可以编写可执行内容,由s a p 公司提供的软件来解释执行。 s a p 作业包括两个文件: ( 1 ) 作业名s ,它是脚本文件,保存可解释执行的内容。 ( 2 ) 作业名p ,它保存用户对该s a p 作业所指定的参数。例如:该s a p 作业 预期执行时间;以及超时处理等。 4 子作业网络( s u b j n w ) : 也是一个作业网络,作为一作业来执行。 5 条件分支作业( 1 t t r u e ) : 它根据前一作业的终了状态来决定作业网络的执行走向。它可以有多条分 支,当是两条分支时,相当于i f - t r u e f a l s e 的逻辑;当有多条分支时,相当于s w i t c h 的逻辑。 西北工业大学硕士论文 6 并行作业( p a r a l l e l ) : 并行作业可以有二到多条的分支,在每一分支上的作业可以并行执行,互 不影响。 7 日历分支作业( c a l b r a n c h ) : 根据所指定的日历来决定作业网络的执行走向。 日历作业只有两条分支,当执行日在日历上是工作日是,走第一条分支 是休息日时,走第二条分支。 8 连续作业( c o n t i n u e ) : 连续作业可以指定跳转的目标作业,及重复的次数。 跳转的目标作业只能是单元作业、对话作业和s a p 作业。当作业网络执行 到连续作业时,跳转到连续作业指定的目标作业,作业网络从目标作业开始执 行。 9 单元作业等待作业( w a i t j o b ) : 指定一单元作业作为等待的目标,作业执行到等待单元作业时,必须等待 目标作业的完成,才能继续执行。 10 子j n w 作业等待作业( w a i t s u b j n w ) : 指定一子作业网络作为等待的目标,作业执行到等待子j n w 作业时,必 须等待目标作业的完成,才能继续执行。 11 外部文件等待作、_ k ( w a i t e x f i l e ) : 等待指定的外部文件处于所规定的状态时,作业网络可继续执行。如果等 待条件设置为”存在”时,等待外部文件作业将等待直到指定的外部文件被生 成;如果等待条件设置为”不存在”时,等待外部文件作业将等待直到指定的 外部文件被删除;如果等待条件为”更新”时,等待外部文件作业将等待直到 指定的外部文件被更新。 1 2 时间等待作q l ( w a i t t i m e ) : 作业将一直等待直到指定的时间。该时间可以设置为绝对时间或相对时 西北工业大学硕士论文 间。 1 3 发送事件作x l l ( s e n t e v e n t ) : 向指定的机器发送e v e n t 在作业属性中将指明发送的目标机器和e v e m l d 1 3 接收事件作业( r e c e i v e e v e n t ) : 接收指定机器的发送的e v e n t 在作业属性中将指明源机器和e v e n t l d 下图是一副复杂的网络作业图。 图2 - 3 在客户端看到的作业网络图 2 ) 作业状态转换 当一个j n w 投交以后,里面所有的j o b 将有自己的状态,此时用户可以 使用客户端来干预各作业的执行。 作业在批处理系统中的生命周期有3 个阶段:( 1 ) 作业生成,用户生成 作业描述文件,这个已在上一节有详细的描述。( 2 ) 作业生存期,该阶段作 业可能会接收到用户或系统的各种命令,要经历多种状态转换,并至少得到 一次执行机会( 周期性执行的作业会按执行周期一直生存下去) ;( 3 ) 作业消 亡,当作业执行完毕,或执行条件已不满足,或作业被用户取消,就从系统 西北工业大学硕士论文 中撤离,作业生命结束。 作业生存期间,由于会收到来自用户或系统的操作请求,要发生多次状态 变化,下图是上图的作业网络投交后各作业显示出来的状态。 图2 - 4 作业投交后的状态 作业状态有如下几种: e x i t i n gs t a t e 退出状态:作业执行终止,它的标准输出或标准出 错文件要被拷贝( 或传送) 到目标文件中去。 r u n n i n gs t a t e 运行状态:作业正在运行。 q u e u e d s t a t e 排队状态:作业已准备就绪正在等待执行,它的下 一个状态是“运行”。 w a i t i n gs t a t e 等待状态:用户提交作业时指定了作业执行的时 间,在此时间到来前,作业处于“等待”状态。 h o l d i n gs t a t e 保持状态:作业被锁住,不能改变到其它状态如 q u e u e d 和r u n n i n g ,只能保持在该状态,当它被“释放”后,回到进入 该状态前的状态。 a r r i v i n gs t a t e 到达状态:用户提交作业来自远地主机系统,当请 求登录本地系统时记状态为“到达”状态。 西北工业大学硕士论文 图2 s 作业状态的迁移 作业的状态迁移可用图2 5 表示,并将状态转换过程说明如下: ( 1 a )系统正在接收从远程系统传送来的作业,被接收的作业处于“到达” 状态。 ( 1 b )当要求执行一个作业时,如果指定了执行时间,那么该作业首先被 置于“等待”状态,否则置于“排队”状态。 ( 2 )作业传输完成后,如果指定了执行时间,那么该请求被置于“等待” 状态,否则置于“排队”状态。 ( 3 )如果收到“保持”请求,被请求的作业进入“保持”状态。 ( 4 )如果收到“释放”请求,处于“保持”状态的作业回到进入“保持” 状态前的状态。 ( 5 )如果指定的时间已经到达,处于“等待”的作业进入“排队”状态。 ( 6 ) 当作业的执行时机到达时,“排队”的作业进入“运行”状态。 ( 7 )作业执行完成后,状态改变为“退出”。开始执行退出清理工作。 3 )作业调度 作业调度是选择作业、给作业分配资源使之得到运行机会的一个活动。从 西北工业大学硕士论文 技术角度做探讨,只关心影响作业运行的物理因素。如系统可用资源、作业需 求资源、网络负载等,本文把这种调度称为系统调度,系统调度主要作用在于 协调作业的资源争用矛盾、平衡系统的负载及根据优先关系进行选择。现实的 作业管理系统除了要考虑这些纯技术因素外,还要处理网络管理方面的一些人 为规定,如在一个集群中,由作业管理系统定制的机器之间的选择关系要人为 设定;用户提交的作业中,莱类作业总是优先得到执行,而某些作业只在特定 的时刻才运行,我们把人为的作业调度称为用户调度。服务器的一个基本功能 特征,是对客户的请求作出立即响应,我们称这种服务为“立即服务”;另外, 服务器还要进行许多非立即应答工作以辅助响应客户,或服务器自己决定在某 个时间自动完成某些功能,称这种服务为“延迟服务”,延迟服务是基于事件驱 动的。正因为存在这种延迟服务,用户才可以定制调度规则来规划作业的执行。 通常来说n q s 是将作业调度与批处理子系统合并在一起,用户无法订制 不同的调度规则,而综合性的作业管理系统一般都使用独立的用户可订制的调 度子系统,这样调度方式更多样、灵活,在作业管理系统s y s t e m s c o p e j m s 中, 就设计了一个调度系统s c l a u n c h ,按用户定制的日历规则、优先规则等方式调 度作业流。般来说,当批处理予系统中的作业状态发生变化时,就向调度子 系统发出一次作业调度请求,作业选择工作由调度子系统完成。作业的状态变 化包括新的作业加入执行队列、作业由等待状态变为排队状态等。选中了符合 执行条件的某个作业,批处理子系统会收到调度子系统返回的执行作业请求, 该请求包含了要执行的作业的信息,最终在执行子系统上完成作业运行。 从调用的机制来分,可以将作业调度分为全局调度和局部调度。全局调度 一般是指作业按某个日历规则( 用户定制) 周期性运行或由系统事件驱动随机 运行。对局部调度而言。系统要对作业进行动态排队,排队的依据以作业对资 源的需求和作业的优先级等因素为主:其次,系统要掌搓网络上所有节点的负 载情况,将作业尽可能平均地分配到各台机器上。 由上可见,影响作业管理系统调度工作的因素主要有:系统节点的负载, 作业的资源需求,日历规则,调度算法。其中调度算法可由系统或用户定制, 对一些实时性、并行要求较高的系统需要用户定制调度算法的可能大一些,商 业系统则一般不需要用户定制调度算法。 4 )作业执行和服踪 ( 1 )作业执行 作业管理系统中,要求在每个可以运行作业的节点上,都应有一个执行 西北工业大学硕士论文 子系统,这种结构更适合于分布式的异构环境。 作业的最终执行都是由作业管理系统交付给操作系统执行,因此,

温馨提示

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

评论

0/150

提交评论