(计算机应用技术专业论文)系统仿真数据分布式计算环境的研究与实现.pdf_第1页
(计算机应用技术专业论文)系统仿真数据分布式计算环境的研究与实现.pdf_第2页
(计算机应用技术专业论文)系统仿真数据分布式计算环境的研究与实现.pdf_第3页
(计算机应用技术专业论文)系统仿真数据分布式计算环境的研究与实现.pdf_第4页
(计算机应用技术专业论文)系统仿真数据分布式计算环境的研究与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机应用技术专业论文)系统仿真数据分布式计算环境的研究与实现.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 目前,系统仿真数据的计算都是在一台机器上进行计算的。系统仿真 数据是用来评价支撑业务系统的网络系统的性能的,这就需要实时的计算 系统仿真数据,以便向用户展现业务系统运行时的各个网络设备的负载情 况,方便用户判断所选设备是否合理。然而由于仿真数据量大,在单机上 很难满足向用户实时交互的需求。这就有必要通过分布式计算技术把地理 上广泛分布的各种资源连成一个整体。共同完成计算任务。 利用网络主机的资源开展分布式计算已经成为一种重要的高性能计算 方式,它提供了更好的性能价格比,更容易解决一些在单台计算机上难以 解决的复杂问题。本文着重分析了系统仿真数据,针对系统仿真数据要求 实时性、计算量大、单机处理速度慢等特点,采用了基于m a s t e r - - w o r k e r 模型的三层体系结构的分布式计算处理方案;在实现技术上,采用了w e b s e r v i c e s 技术,在计算节点端采用w e bs e r v i c e s 技术将系统仿真数据的计算 应用发布为w e b 服务。 首先论文给出了系统架构和各个模块的功能。由于任务计算需要很长 的时间,计算节点发生错误的可能性增加,针对单个计算节点失效引起的 计算上的巨大损失问题,采用了检查点功能。接着对系统中的任务调度算 法进行了研究,对蚁群算法进行改进,即性能高的机器分配的任务比较多, 性能低的机器分配的任务比较少,通过合理分配减少任务的运算时间。 关键词:系统仿真数据;分布式计算:w e bs e r v i c e s ;蚁群算法 哈尔滨工程大学硕士学位论文 a b s t r a c t a t p r e s e n t ,s y s t e ms i m u l a t i o nd a t ai sc a l c u l a t e do no n ec o m p u t e r s y s t e m s i m u l a t i o nd a t ai su s e dt oe v a l u a t et h ep e r f o r m a n c eo ft h en e t w o r ks y s t e mw h i c h s u p p o r t s t r a n s a c t i o n s y s t e m t h i sr e q u i r e s r e a l t i m e c o m p u t i n gs y s t e m s i m u l a t i o nd a t a ,i no r d e rt od e m o n s t r a t en e t w o r ke q u i p m e n t sl o a dt ou s e r sw h e n t r a n s a c t i o ns y s t e mi sr u n n i n g s i m u l a t i o nd a t ai ss om u c ha si ti sd i f f i c u l to f m e e t i n g r e a l t i m ei n t e r a c t i o nt ou s e r sw h e ni ti so no n ec o m p u t e r i ti sn e c e s s a r y t oc o r m e e td i f f e r e n tr e s o u r c e sw h i c ha r es c a t t e r e do nt h ei n t e r a c ti n t oi n t e g r a t e d o n ew i t ht h ed i s t r i b u t e dc o m p u t i n gt e c h n o l o g y t h en e wo n ew i l la c c o m p l i s h c o m p u t i n g t a s k st o g e t h e r d i s t r i b u t e dc o m p u t a t i o nu s i n gf r e er e s o u r c eo nt h en e t w o r kh a sb e e na l l i m p o r t a n tw a yo fh i g h p e r f o r m a n c ec o m p u t a t i o n i ti sm o r ec o n v e n i e n tt h a no n e c o m p u t e rt os o l v ec o m p l e xp r o b l e m sw i t hp r o v i d i n gb e t t e rp e r f o r m a n c e p r i c e r a t i o i ta n a l y z e ss y s t e ms i m u l a t i o nd a t ai nt h e s i si nv i e wo ft h ec h a r a c t e r i s t i c s o fs y s t e ms i m u l a t i o nd a t a ,s u c ha sr e a l t i m e ,t h ea m o u n to fc o m p u t a t i o n ,l o w p r o c e s s i n gs p e e do fo n ec o m p u t e r , i ta d o p t sat h r e e l a y e rs t r u c t u r eb a s e do nt h e m a s t e r - w o r k e r i nt h er e a l i z a t i o no ft e c h n o l o g y , i ta d o p t sw e bs e r v i c e si nt h e s i s t h e c o m p u t a t i o na p p l i c a t i o no fs y s t e ms i m u l a t i o nd a t ai sd e p l o y e d 雒a c o m p u t a t i o nw e bs e r v i c e so nt h ew o r k e r f i r s t l y , i ti n t r o d u c e st h ef r a m e w o r k sa n dt h ef u n c t i o no fe a c hm o d u l ei n t h e s i s b e c a u s ei ti sat a s kw h i c hn e e d sal o n gt i m et or u n ,c h e c k p o i n tf u n c t i o ni s a d o p t e di no r d e rt oa v o i dag r e a tl o s sc a u s e db yo n ec o m p u t en o d e sf a i l u r e s e c o n d l y , j o ba s s i g n m e n ta l g o r i t h m si nt h es y s t e ma r er e s e a r c h e da n d a l l i m p r o v e d a n tc o l o n yo p t i m i z a t i o ni si n t r o d u c e dw h i c hm e a n st h a tm o r et a s k sa r e a s s i g n e d t o h i g h - p e r f o r m a n c ec o m p u t e ra n d l e s st a s ba r e a s s i g n e d t o l o w - p e r f o r m a n c ec o m p u t e ra n di tw i l lr e d u c et h ec o m p u t i n gt i m eb yt h i sw a y 哈尔滨工程大学硕士学位论文 k e y w o r d s :s y s t e ms i m u l a t i o nd a t a ;d i s t r i b u t e dc o m p u t a t i o n ;w e bs e r v i c e s ; a n tc o l o n yo p t i m i z a t i o n 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用己在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担口 作者( 签字) : 日期:渊苦年1 月f 6 日 哈尔滨工程大学硕士学位论文 第1 章绪论 1 1 研究目的、意义及背景 随着以计算机技术、通信技术、网络技术为代表的现代信息技术的飞 速发展,人类社会正从工业时代阔步迈向信息时代,人们越来越重视信息 技术对传统产业的改造以及对信息资源的开发利用,“信息化 己成为一个 国家经济和社会发展的关键环节,信息化水平的高低己经成为衡量一个国 家、一个地区现代化水平和综合国力的重要标志。 2 0 世纪9 0 年代初,电子政务作为提高政务活动的效率和降低行政成本 的手段被提出。然而,当前我国各地电子政务建设过程中存在大量的浪费, 违背了建立节约型社会的奋斗目标。 归结电子政务建设存在的问题,主要体现在以下几个方面: ( 1 ) “投资黑箱 现象严重。 ( 2 ) 粗放型增长模式造成浪费。 ( 3 ) 缺乏客观有效的评价体系。 系统仿真能够让决策人员和计划人员方便、直观的对系统进行定义和 描述,并在此基础之上,对系统方案进行初步的讨论。在保证政务对社会 贡献能力的前提之下,对电子政务发展能力和系统支撑能力进行仿真和评 价,并对系统规模的仿真( 系统的业务处理量以及支持业务处理的系统设备 指标参数的选择) ,得到更清晰科学准确的论证。客观有效地为电子政务的 投资建立合理的电子政府评价标准。为国家财政节约大量资金投入,并会 带来巨大的经济和社会效益。 而系统仿真往往需要实时的计算系统仿真数据,以实现向用户实时的展 现网络系统的运行情况,这对于系统的计算性能提出了更高的要求,一方面, 单机的硬件性能难以满足需要。超强的计算能力使得此类超级计算成为复杂 计算领域的主宰。但超级计算机的造价却让人望而却步,通常只有一些国家 级的部门才有能力配置这样的设备。另一方面,随着i n t e r n e t 蔓延到世界各地, 哈尔滨工程大学硕士学位论文 成为人们沟通信息和协同工作的有效工具,随着硬件技术的发展与网络的普 及以及带宽的扩展,越来越多的个人计算机构成了庞大的网络。这样在网络 上就汇集了成千上万的计算资源、数据资源、软件资源,可以利用这些资源 提供一定的计算能力,而且网络上的这些资源大部分时间处于空闲或轻载的 状态。据2 0 0 0 年美国i d c 的调查,全世界与i n t e m e t 连接的计算机超过3 亿台, 每台机器有8 0 - - 9 0 的c p u 资源被闲置而白白浪费掉。而系统仿真数据的 计算也正常常存在于这样的一个多机的环境中,网络中的其它机器可能正处 于闲置状态。现在利用网络主机的资源开展分布式计算已经越来越成为流行 的计算方式。它通过将计算工作分摊到多台计算机中,降低了集中在单台计 算机运算的负载及可能的风险。基于网络的分布式计算有着巨大的计算潜力、 良好的可扩展性和灵活的体系结构,对于一些难以在单台计算机上解决的复 杂问题,可以通过分布式计算得到解决。因此,高性能分布式计算已经成为 当今计算机技术发展的一个重要分支。而本文主要研究如何有效利用这些闲 置的计算资源,将其整合成高性能的计算网络来满足系统仿真数据计算的需 要,提高计算效率。 1 2 国内外研究现状及发展趋势 随着信息时代的到来,计算机技术的发展日新月异,与此同时分布式 应用体系结构也发展得非常迅速,功能将愈来愈强大。在国外,分布式应 用体系结构的研究与开发早己进行。截止到目前,国外的分布式应用体系 结构的技术己呈现如下特点多层次性、面向对象型、跨平台性、系统功能 易扩充、系统易维护以及能适应大型的、复杂的应用等。具有上述特点的 分布式应用体系结构己得到了较为广泛的应用,并且其中的许多新兴技术 和开发模型己成为事实上的开发标准。 当计算机刚出现时,所有程序都是在单片机上运行。企业主要采用大 型主机终端体系结构。主机有特定的执行区域,主机的另一端是用户界面, 通常是终端设备,用来显示的显示器和用来输入的键盘。在数据环境与用 户界面之间是有组织管理数据的业务过程,但由于主机负载过大,用户界 面不够友好等缺陷目前己被摒弃。随着个人电脑的出现,产生了一系列变 2 哈尔滨工程大学硕士学位论文 化。更多、更简便的编程语言的使用使程序员创建了关键性任务程序,而 无需使用组织内部开发的所执行的结构。这一阶段称之为传统分布式应用 体系结构。 随着信息网络在世界范围内的高速普及,各种软、硬件计算资源几乎 都已接入i n t r a n e t 或i n t e m e t ,而各计算节点的系统环境可以存在较大差异。 因此,使用传统客户机服务器模式已不能满足计算要求,特别是分布式异 构应用程序之间的互访受到了各种因素的制约。这种需求产生了分布式计 算技术,并促使其不断发展。分布式计算技术正是为了适应网络,特别是 互联网的发展而提出的。它不仅为了解决客户与应用程序之间的调用,而 且要解决应用程序之间协同工作等问题。其功能目标是:不同平台之间能 够共享数据和处理能力,协同工作,形成有效的分布式计算能力。其技术 目标是:跨网络、跨平台、跨语言。 如今,许多国家,特别是发达国家对分布式计算技术的研究越来越重视, 投资规模不断增大。国际上几乎所有著名的1 1 r 厂商也对分布式计算技术表现 出浓厚的兴趣,纷纷宣布自己的研究计划,并不断发布各种相关产品,抢占 计算机未来发展的制高点。但到目前为止,所有的分布式计算技术都或多或 少存在没有解决的问题,还没有哪一种技术被所有的研究者认同为分布式计 算技术研究的方向,也没有哪一种技术能实现完全意义上的分布式计算,满 足所有分布式计算的需求。 随着分布式计算技术研究的不断深入,许多研究者发现单个技术在技术 本身、应用领域等方面的局限性越来越明显,从而把目光投向了多种现有分 布式计算技术的综合,并在特定方面取得了重要的突破,取得了令人满意的 成果。 分布式计算环境的发展经历了两种不同的技术路线,一种是理想的技术 路线,一种是现实的技术路线。 理想的技术路线试图在互连的计算机硬件上部署全新的分布式操作系 统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。在2 0 世纪8 0 年代,学术界普遍追求这一目标,尽管产生了许多技术成果和实验系 统,但却没有被用户和市场接受。面对现实情况,人们开始探讨新的解决方 案。 哈尔滨工程大学硕士学位论文 i;i- : 一 - - 昌嗣 现实的技术路线是在网络计算平台上部署分布计算环境,提供开发工具 和公共服务,支持分布式应用,实现资源共享和协同工作。在2 0 世纪9 0 年代, 工业界普遍遵循这一技术路线,产生了一系列行之有效的技术和广为用户接 受的产品。 当前,人们所说的分布计算技术通常是指在网络计算平台上开发、部 署、管理和维护以资源共享和协同工作为主要应用目标的分布式应用系统。 其发展大致可以分为三个阶段:从上个世纪8 0 年代中期到9 0 年代初是第 一代,第二代是上个世纪9 0 年代初到2 0 0 0 年,2 0 0 0 年以后为第三代【】。 ( 1 ) 第一代,上个世纪8 0 年代中后期,以支持信息共享的应用需求为核心, 形成了面向过程的第一代分布式计算技术。在第一代分布式计算技术的推动 下,9 0 年代初出现了从集中计算模式向分布式客户服务器计算模式转移的热 潮。在分布式客户服务器计算机系统的建立及其应用系统的开发过程中,人 们逐渐体会到分布式系统比想象的要复杂得多,例如异构环境下的应用互操 作问题、系统管理问题、系统安全问题等等,这些问题在集中计算模式下是 不曾出现的或不突出的。传统的面向过程的技术在开发大型软件系统时已经 暴露出很大的局限性,在应付复杂的分布式应用系统时更加力不从心。由此, 人们自然想到了在8 0 年代软件领域大放异彩的面向对象( 0 0 :o b j e c to r i e m e d ) 技术。 ( 2 ) 第二代,上个世纪9 0 年代初,以面向对象技术为主要特征的第二代 分布式计算技术开始孕育,经过5 年多的蓬勃发展,进入了成熟时期。人们 也将这一代技术称为分布式对象技术。 分布式对象技术研究分布于网络不同节点上的对象如何进行协作,共同 完成特定的任务,其核心内容在于对象之间的互操作,尤其是异构环境中的 互操作问题。 与第一代的分布式计算技术相比,分布式对象技术实质性进步在于使面 向对象技术能够在异构的网络计算环境中得以全面、彻底和方便的实施,从 而能够有效地控制系统开发、管理和维护的复杂性。 ( 3 ) 第三代,为以自主多a g e n t 为主要特征的分布式计算技术,然而其体 系在安全、管理、移动以及通信语言等方面还需要进一步研究,因而在应用 领域还不是很成熟。 4 哈尔滨工程大学硕士学位论文 而随着分布式计算从局域网发展到广域网,为其服务的分布式计算环 境也随之改进。主要表现为: 1 集群计算系统 早期的分布式计算采用的是集群方式,它通过高速网络连接闲置的工 作站,形成一个松散耦合的并行计算环境,协同工作解决复杂的计算问题。 在这种系统中,参加计算的机器是安全可靠的,通常机器的数量和相关信 息是已知的。常用于集群的软件是基于消息传递的系统,在消息传递模型 汇总,驻留在不同p c 处理器节点上的进程可以通过网络传递消息相互通 信。消息可以是指令、数据、同步信号或中断信号等。在消息传递并行程 序中,用户必须明确地为进程分配数据和负载,它比较适合于开发大粒度 的并行,这些程序是多线程的和异步的,要求显示同步以确保正确地执行 顺序。标准消息库m p i 和p v m 提供了轻便性和优良的性能,但是它们是 低层的:它们局限于局域网,不支持动态负载平衡和容错,它们要求程序 安装在每一个站点上,用户或者系统需要拥有参与计算的每一台机器的一 个帐户。 2 元计算系统和网格计算平台 元计算( m e t ac o m p u t i n g ) 【2 1 的概念是伴随着l a n 向w a n 、i n t e m e t 的发 展过程中提出来的。使得广域网上的空闲计算机资源集成和共享起来,对 那些亟需科学计算的用户提供统一界面的服务,而不必关心用户提交的任 务是如何划分的,在何种机器上运行,结果如何收集等。其中的一种形式 是志愿者模型,由i n t e m e t 上的机器自愿加入计算中,形成网络超级计算机。 在自愿计算中,通常情况下,大部分的参与者都拥有一台p c ,通过电 话线、m o d e m 或者d s l 连接到i n t e m e t 上的,而且通常处于防火墙之下。 他们可能会经常的关机或者与i n t e m e t 断连,参与者很可能不是计算机专家, 参与这些项目的目的只是为了兴趣或者可以得到的某些“利益”。系统没有 对参与机器的控制权,不能避免恶意的攻击。这类分布式系统更强调易用 性、可适应性,系统必须提供方便的参与方式。 网格计算是在元计算的基础上发展起来的,是分布式计算的典型应用。 网格【3 】( g r i d ) 将分布在不同地理位置的计算资源,通过高速的互联网组成充 分共享的资源集合,从而提供一种高性能计算、管理及服务的资源集合。通 哈尔滨工程大学硕士学位论文 过网格可以将分散在各处的计算机资源整合成一台计算能力惊人的超级计 算机,实现计算资源、存储资源、通信资源、软件资源、信息资源、知识资 源的全面共享。 1 3 论文的主要工作 在系统仿真中,由于仿真数据量大、实时性要求高,在单机中很难满 足用户实时性的要求,需要采用分布式计算来提高计算效率,减少运行时 间。 论文主要研究和实现了一个为系统仿真数据进行计算的基于w e b s e r v i c e s 的分布式计算环境。通过把仿真数据的计算过程封装成w e b 服务, 部署在不同的计算机上,利用网络来完成大量的计算任务。论文的主要研 究内容如下: ( 1 ) 分析了传统的m a s t e r - w o r k e r 模型的特点,采用了基于m a s t e r - - w o r k e r 模型的三层体系结构的分布式计算的解决方案。 ( 2 ) 在实现技术上,分析了传统的分布式计算技术及其存在的问题,通 过分析、比较w e bs e r v i c e s 和传统的分布式组件对象技术的优缺点,采用 了w e bs e r v i c e s 分布式计算技术,在计算节点端采用w e bs e r v i c e s 技术将 系统仿真数据的计算过程发布为w e b 服务,然后可以方便地调用w e b 服务, 利用网络上的计算资源。 ( 3 ) 详细论述了系统仿真数据的分布式计算环境的架构,以及各个模块 的功能设计、实现。提供了检查点机制以减少由于单个计算节点时效而引 起的计算上的巨大损失。 ( 4 ) 研究了分布式任务调度算法,分析已有的蚁群算法的特点,对蚁群 算法进行优化,以便达到实现任务的合理分配,减少任务的运算时间。 1 4 论文的结构 论文共分为六章。 第1 章主要介绍课题的目的、背景及意义,并分析了该问题的研究现 状及发展趋势,说明了论文的主要研究内容。 6 哈尔滨工程大学硕士学位论文 第2 章介绍了分布式计算的定义和几种传统的主流分布式技术,并指 出这几种传统的分布式计算技术所存在的问题。然后介绍了w e bs e r v i c e s 技术,并详细分析了w e bs e r v i c e s 中的关键技术、体系结构及其工作原理。 接下来分析、比较了w e bs e r v i c e s 和传统的分布式组件对象技术的特征。 第3 章首先介绍了分布式任务调度的定义。然后介绍了分布式计算中 任务调度的结构,分析了各种任务调度结构的优缺点。分析了设计任务调 度算法时需要注意的一些问题。最后对启发式调度算法进行了研究,主要 针对当前常见的几种启发式调度算法进行了分析。 第4 章首先分析了系统仿真数据的来源,特点以及计算过程,从而阐 述了需要使用分布式计算的必要性。给出了系统的总体框架,描述了系统 各个模块的功能,以及一些重要模块的实现。 第5 章介绍了系统中的任务调度策略和算法,对蚁群算法进行了优化。 第6 章给出了实验数据和分析。 哈尔滨工程大学硕士学位论文 第2 章分布式计算技术 2 1 分布式计算概述 分布式计算是一个相对较新而又宽泛复杂的领域,它是随着计算机硬 件、软件技术及计算机通信技术的发展而不断发展变化的,所以至今还没 有一个一致的定义。当讨论分布式计算时,人们往往将它与“分散的 ,“分 布式的 ,“网络的”甚至“并行的 ,“并发的 等形容词联系在一起以描 述这一问题的不同方面。分散的、分布式的是相对集中式来说的,表示把 可通过某种方式互相通信的多个处理单元分散在不同的地方。一般来说, 如果它们之间不存在或仅存在有限的合作时就称为网络的,否则就称为分 布式的。并行的、并发的是相对顺序计算来说的,一般来说,并行计算或 并行处理是指一个程序同时由多个处理器执行( 通常是多处理器计算机,也 可以是通过网络互连的多台计算机) 。e n s l o w “,认为分布式系统可以用硬件、 控制、数据这三个维度加以描述如果一个系统在这三个维度上都达到了一 定程度的分散,系统就可以被归类为分布式系统。 分布式计算的实质是将一个整体的计算任务分解成多个子任务,并且 将它们分配到物理上分布的多台机器上,利用每台机器的资源来共同协作 完成整体的任务。其核心是用户对计算等资源的透明共享与多进程问的协 调合作。 2 2 传统分布式计算技术 2 2 1s o c k e t 技术 s o c k e t a p i 最早作为b e r k e l e yu n i x 操作系统得程序库,出现于2 0 世纪 8 0 年代早期,用于提供进程间通信( i n t e r p r o c e s sc o m m u n i c a t i o n ,i p c ) 功能。 现在所有主流操作系统都支持s o c k e t a p i 。在b s d ,l i n u x 等基于u n i x 的 系统中,s o c k e t a p i 都是操作系统内核的一部分。在个人计算机操作系统中, s o c k e t a p i 都是以程序库形式提供的。s o c k e t a p i 的设计者提供了种称为 哈尔滨工程大学硕士学位论文 s o c k e t 的编程构造。希望与另一进程通信的进程必须创建该构造的一个实 例,双方间的通信可以是面向连接的或无连接的。 在i n t e m e t 网络协议的体系结构中,传输层上有两种主要协议:用户数 据包协议( u s e rd a t a g r a mp r o t o c o l ,u d p ) 和传输控制协议( t r a n s m i s s i o n c o n t r o lp r o t o c o l ,t c p ) 。u d p 允许使用无连接通信传送( 即在传输层发送和 接收) 报文,被传输报文称为数据包( d a t a g r a m ) 。根据无连接通信协议,每 个传输的数据包都被分别解析和路由,并且可按任何顺序到达接收者。t c p 是面向连接的协议,它通过在接收者和发送者之间建立的逻辑连接来传输 数据流。由于有连接,从发送者到接收者的数据能保证以与发送次序相同 的顺序被接收。使用u d p , 传输的s o c k e t 称为数据包s o c k e t ( d a t a g r a m s o c k e t ) ,而采用t c p 的s o c k e t 称作流式s o c k e t ( s t r e a ms o c k e t ) 。 s o c k e t 是对网络传输层和网络层协议进行封装的一套a p i 。它提供了基 于c s 的分布式模型,其开发和运行模型如图2 1 所示。从图中可以看出, s o c k e t 封装了通信细节,可以很方便的实现网络数据传输。但采用s o c k e t 来开发分布式计算任务,必须自己去实现诸如参数转换、函数调用等繁琐 的过程。 客户机服务器 叫表示调用关系辱= = = = = = 表示网络连接 图2 1s o c k e t 开发和运行模型 9 哈尔滨工程大学硕士学位论文 2 2 2r p o 技术 r p c 由b j n e l s o n 博士提出,i s o 于1 9 8 9 年将其作为计算机网络和分 布式计算机系统的一种标准。r p c 也是基于c s 模型,架构在网络层和传 输层之上。它隐藏了网络通信的数据传输、打包、解包和调用远程过程时 的参数传递细节。客户机只需给出远程过程地址和参数,即可以完成远程 调用。r p c 使用服务器端和客户机端s t u b 程序来实现上述功能。r p c 的运 行结构如图2 2 所示 s l 。客户端和服务器端s t u b 封装了通信细节和参数传递 细节。这样就可以采用一种标准的语言来描述远程调用接口,同时也可以 实现远程过程的跨平台调用,这种语言就是o m g 制定的i d l 。在开发远程 过程调用时,首先用i d l 描述远程过程接口,然后使用工具产生相应的s t u b 文件,然后按照接口开发客户机和服务器端的应用。 客户机 服务器 表示调用关系 图2 2r p c 运行结构 1 0 哈尔滨工程大学硕士学位论文 2 2 3 分布式组件对象技术 当前分布式组件对象实现的主流技术有以下3 种:分布式组建对象模 型( d c o m ) ,公共对象请求代理结构( c o r b a ) ,远程方法调用( j a v ar m i ) 。 1 c o r b a 技术 c o r b a t 6 】是o m g 制订的分布对象计算标准规范,其核心是一套标准的语 言、接口和协议,包括c o r b a i i o p 、对象服务、公共设施和领域接口规范。 c o r b a 的目标是实现分布异构环境中对象之间的透明请求调用,对象独立于 平台和编程语言而被重用。应用程序独立于底层硬件平台、操作系统、通信 协议等细节进行互操作。 c o r b a 的核心部分是o r b ,它是一个在对象间建立客户服务器联系的 中间件。使用o r b ,客户端可以调用服务器的对象或以对象形式呈现的应用, 被调用的对象不要求在同一台机器上,这是庄t o r s 来负责进行通信的。同时, o r b 也负责寻找适于完成这一工作的对象,并在服务器对象完成后返回结果。 客户对象可以完全不用关心服务器所提供的对象的位置、这个对象实现时所 采用的具体技术和工作的硬件平台,甚至不必关心服务器对象的与服务无关 的接口信息,这就大大简化了客户程序的工作。 对象请求代理结构的工作流程:客户将需要完成的工作交给o r b ,由 o r b 决定由哪一个对象实例完成这个请求,然后激活这个对象,将完成请求 所需要的参数传送给这个激活的对象。除了客户传送参数的接口外,客户不 需要了解其他任何信息。 2 d c o m 技术 a c t i v e x d c o m t ej 是由m i c r o s o f t 推出的对象构件模型,最初用于集成 m i c r o s o f t 的办公软件。1 9 9 9 年后陆续推出了d n a 模型( d i s t r b u t e d n e t w o r k a r c h i t e c t u r e ) 、m t s 、队列组件、c o m + ,以及w i n d o w s 2 0 0 0 ,这大大地提高 了a c t i v e x d c o m 在开发异构环境下大型分布式应用程序的能力。 d c o m 是m i c r o s o f t 的组件对象模型( c o m p o n e n to b j e c tm o d e l ,c o m ) 的 分布式扩展,它在d c e r p c 的顶端建立了一个对象远程调用层,用以支持远 程对象。c o m 服务器能创建多对象类的对象实例。一个c o m 对象可以支持多 个接口,每个接口代表对象一种不同的视图或行为,一个接口由一套功能相 哈尔滨工程大学硕士学位论文 关的方法组成。c o m 的客户程序通过获取指向对象接口的一个指针,并通过 该指针调用方法以实现与c o m 对象间的互相作用,就如对象驻留在客户程序 的地址空间中一样。通过c o m + 的相关服务设施,将c o m 、d c o m 、m t s 的 功能有机地统一在一起,扩充为面向服务器端分布应用的业务逻辑中间件。 但是它的不足是依赖于m i c r o s o f t 的操作系统平台。 3 j a v ar m i 技术 j a v ar m i 是开发纯j a v a 的网络分布式应用系统的核心解决方案之一。 用j a v ar m i 开发的应用系统可以部署在任何支持j r e 的平台上。目前用 j a v ar m i 技术开发的应用系统有很多,例如一些文件传输系统,分布式计 算系统等。 j a v ar m i 是一种比c o r b a 简单的分布式计算。它一般包括两个独立 的程序:服务器端的程序和客户机端的程序。服务器端的应用程序一般创 建多个远程对象,使它们能够被引用,然后等待客户机调用远程对象上的 方法。客户机程序从服务器中得到一个或多个远程对象的引用后调用远程 对象的方法。 j a v ar m i 通过j a v a 远程方法协议( j r m p ) 实现对象之间的通信。j a v a r m i 远程服务对象定义实现了远程接口,当前j a v a 虚拟机以外的或其它机 器上的j a v a 虚拟机就能够通过该接口实现对该服务对象的访问。 j a v ar m i 整个架构的实现从本质上来说由三个抽象的层次所组成,在 客户端和服务器端都提供三层抽象。 第一层是存根( s t u b ) 和框架( s k e l e t o n ) 层,客户端的s t u b 负责解释客户 端发出的远程方法调用;然后将其转发到下一层( 即远程引用层) 。服务器 端的s k e l e t o n 负责与客户端s t u b 层交互。 第二层是远程引用层。客户端的远程应用层解释和管理客户发出的到 远程服务对象的引用,并向下一层即传输层发起i p c 操作,从而将方法调 用传送给远程主机。服务器端的远程应用层管理源于客户端的远程引用, 并将器转换成能被s k e l e t o n 层理解的本地引用。 第三层是传输层,它是基于t c p 协议的,因此是面向连接的。该层和 网络体系结构中的其他部分一起,共同执行i p c ,以将表示方法调用的数据 传输给远程主机。 哈尔滨工程大学硕士学位论文 随着开发和应用的不断深入,分布式组件技术暴露出以下缺陷:首先, 要求通信两端有相同的基本结构,紧密耦合,一旦一方的执行机制发生变化, 那么另一方就会崩溃:其次,客户端和服务器跨越防火墙通信时,穿越防火 墙困难;最后,开发程序费力费时,特别是c o r b a 需要占用大量资源,且不 易编程。 2 3w e bs e r vic e $ 简介 2 。3 1w e bs e r v i c e s 的发展背景 随着客户和商业伙伴对实时信息的期望的不断增长,企业不得不连接 他们的那些异构的系统并将企业应用放到w e b 环境中,以此来增加产出、 提高效率以满足客户的需要。但企业内部应用体系又过于复杂,使得企业 应用集成举步维艰。传统的企业应用集成大都是基于分布式计算技术实现。 但在企业应用向w e b 环境延伸时,分布式计算技术遇到了巨大的障碍。因 此,需要一种新的技术来实现企业应用集成向w e b 平台的平滑迁移。x m l 技术的出现,彻底解决了异构平台之间的数据表示和数据交换的问题,同 时,i b m 、微软等公司在x m l 技术的基础上制定了新的基于w e b 的访问 协议,即简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,s o a p ) 。在这 两项技术的基础上诞生了新的技术w 曲s e r v i c e s 。 w e bs e r v i c e s 的基本结构是建立在x m l 基础之上的。1 9 9 8 年2 月x m l 被w 3 c 立为标准,w e bs e r v i c e s 是x m l 流行后的一个直接产物。2 0 0 0 年 3 月i b m 和微软开发了s o a p l 1 ,这个通信协议为w e bs e r v i c e s 的远程调 用奠定了基础。2 0 0 0 年9 月,微软和m m 提出w s d l l 0 ,用于描述及函 数、参数和返回值。同期,m m 、微软和a r i b a 提出了通用描述、发现和集 成协议( u n i v e r s a ld e s c r i p t i o n 、d i s c o v e r ya n di n t e g r a t i o n ,u d d i ) ,通过此协 议可以宣传、定位w e bs e r v i c e s 。其中s o a p 、w e bs e r v i c e s 描述语言( w e b s e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 、u d d i 都是基于x m l 的川。 w e bs e r v i c e s 技术不仅仅是分布式的对象技术,而且是对象组件技术 在网络中的延伸,是一种部署在w e b 上的对象组伊s j 。w e bs e r v i c e s 是放置 在i n t e r a c t 上的,并能通过w e b 进行调用的可重用构件。w e bs e r v i c e s 的使 哈尔滨工程大学硕士学位论文 用将改变目前的开发模式和应用部署的费用规模。通过采用w e bs e r v i c e s , 部署和集成的费用大大降低,流程的更改也无需更改大量代码,甚至通过 工具的支持,根本无需更改程序代码。 w e bs e r v i c e s 的主要目标就是在现有的各种异构平台的基础上构筑一 个通用的平台无关、语言无关的技术层,各种不同平台之上的应用依靠这 个技术层来实现彼此地连接和集成。 2 3 2w e bs e r v i c e s 的体系结构 w e bs e r v i c e s 技术是一种s o a 架构,如图2 3 所示,为w e bs e r v i c e s 的体系结构。 图2 3w e bs e r v i c e s 体系结构 其基本元素包括服务( s e r v i c e ) 、服务提供者( s e r v i c ep r o v i d e r ) 、服务 请求者( s e r v i c er e q u e s t e r ) 、服务注册中心( s e r v i c er e 百s t r y ) 。它们分别指: ( 1 ) 服务:w e b 服务是一个由服务描述语言描述的接口,服务描述的实 现就是该服务。服务是一个软件模块,它部署在由服务提供者提供的可以 通过网络访问的平台上。服务的存在目的就是要被服务请求者调用或者同 服务请求者交互。当服务的实现中利用到其他的w e b 服务时,它也可以作 为请求者。 ( 2 ) 服务提供者:负责使用w s d l 来描述和定义那些可以通过编程来访 问的应用程序,在服务注册中心发布自己的服务,并且对使用自身服务的 请求进行响应。从企业的角度看,这是指服务的所有者,从体系结构上看, 这是托管被访问服务的平台。 ( 3 ) 服务请求者:利用服务注册中心查找所需的服务,然后使用该服务。 1 4 哈尔滨工程大学硕士学位论文 从企业的角度看,这是要求满足特定功能的企业,从体系结构上看,这是 寻找并调用服务,或启动与服务交互的应用程序。服务请求者角色可以由 浏览器来担当,由人或无用户界面的程序来控制它。 ( 4 ) 服务注册中心:这是可搜索的服务描述注册中心,也经常被称为服 务代理,服务提供者在此发布他们的服务描述。在静态绑定开发火动态绑 定执行期间,服务请求者查找服务并获得服务的绑定信息( 在服务描述中) 。 对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因 为服务提供者可以把描述直接发送给服务请求者。同样,服务请求者可以 从服务注册中心以外的其他来源得到服务描述。 w e bs e r v i c e s 的角色之间使用了三种操作: ( 1 ) 发布:为了使服务可访问,需要发布服务描述以使服务请求者可以 查找它。发布服务描述的位置可以根据应用程序的要求而变化。 ( 2 ) 查找:服务发布之后需要解决的问题是如何发现服务,因此注册服 务器需要提供规范的接口来接受服务请求方的查询要求。在查找操作中, 服务请求者直接检索服务描述或在服务注册中心中查询所要求的服务类 型。对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查找操 作:在设计时,为了程序开发而检索服务的接口描述;而在运行时,为了 调用而检索服务的绑定和位置描述。 ( 3 ) 绑定:最后需要调用服务。在绑定操作中,服务请求者使用服务描 述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服 务的交互。 2 4w e bs e r v i g e s 的主要技术协议 w e bs e r v i c e s 的体系结构是由四种类型的技术层次实现的,这些技术 堆叠在一起,一种技术依赖相邻的下一种技术,其中的接口定义和发现层 是提供即时集成功能和必须的平台无关性编程模型的核心。处在最底层部 分的是先前己经定义好的并且广泛使用的传输层和网络层的标准:, h t t p ,s m t p 等。上层是目前开发w e bs e r v i c e s 的相关核心标准协议,包 括服务调用协议s o a p 、服务描述语言w s d l 和服务发现、集成协议u d d i 。 哈尔滨工程大学硕士学位论文 在开发w e bs e r v i c e s 时,可以按照需要来选用若干层次的功能。但是无论 如何为了实现一个一般意义上的w e bs e r v i c e s ,需要具备w e bs e r v i c e s 的 相关基础特性,诸如跨平台调用和接口可机器识别,那么就必需使用w s d l 和s o a p 。s o a p 是用来最终完成w 曲s e r v i c e s 调用的,而w s d l 则是用 于描述如何使用s o a p 来调用w 曲s e r v i c e s 的。 2 4 1s o a p 协议 为了在数据的发送方和接收方之间建立一个通道,需要有一种能跨平 台、跨语言的协议或组件,它能够使用x m l 来描述和包装需交换的数据或 对象内容,以使得各种平台的数据和对象都能通过同一个标准进行传输。 而s o a p 以x m l 形式提供了一个简单、轻量的用于在非集中、分布式环境 中交换结构化和类型信息的机制,它完全继承了x m l 的开放性和描述可扩 展性,使用现有基于t c p i p 的应用层协议h t t p ,s m t p ,f t p 等,可以获 得与现有的网络通信协议最大程度地兼容。s o a p 本身并不定义任何应用语 言,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一 个模块化的包装模型

温馨提示

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

评论

0/150

提交评论