已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)基于net的企业级分布式并行模型设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 分布式对象技术是伴随网络而发展起来的一种面向对象的技术。分布式对象技术将 孤立复杂的客户朋务器应用分解为自我管理的部件一对象,这些对象能够透过完全相 异的网络和操作系统实现互操作。在企业应用中,可以利用它建立一个开放式的软件总 线结构,从而满足企业分布环境下系统的集成。 为了有效合理的利用企业中的计算资源,快速高效的进行企业业务处理,同时又能 为企业的开发和应用提供一个可扩展稳定的平台,本文设计并实现了一套基于n e t 框架 下远程处理机制的分布式并行计算模型,该模型在企业的业务请求和业务处理之间,加 入服务管理调度层,让业务请求端成为松散的请求组件与服务管理层通过接口交互,而 服务管理层统一管理请求,并利用多线程机制,对不同的请求进行合理的服务调度,使 服务请求总是被分配到企业内相对比较闲散的计算节点上,并同时在多个服务处理端对 多个请求进行处理实现并行化。并且服务管理层可以控制服务处理异常的转向,进行重 新调度分配,管理服务到计算节点的动态注册,使业务的应用流程与其计算方案相对分 离,达到对计算方案并行处理,提高整个应用流程的效率,并优化客户端以及服务器端 软件设计的方式。 本文利用n e t 的c # 实现了该模型,在该模型实现过程中,除了借助n e tr e m o t i n g 机制进行对象的远程化外,还利用了n e t 的反射机制、s o c k e t 通信机制、与x m l 交互技 术等。文中对模型的设计、实现平台的选择以及模型的实现细节都作了详细阐述,并利 用两个应用实例对已实现的模型进行测试。一个应用为n 值的运算,并给出了串行运算 以及并行时机器数量多少与计算速度的比较。另一个应用是某电厂收费系统的一个实际 企业应用的例子,利用本模型,解决客户查询中并行处理应用,以提高业务处理效率。 关键词:分布式并行模型;n e t 远程处理机制;分布式对象技术;企业应用 基于n e t 的企业级分布式并行模型设计与实现 t h e d e s i g na n di m p l e m e n t a t i o n o f e n t e r p r i s ed i s t r i b u t e dp a r a l l e l m o d e lb a s e do n n e t a b s t r a c t d i s t r i b u t e d o b j e c tt e c h n o l o g y i sa l l o b j e c t - o r i e n t e dt e c h n o l o g yd e v e l o p i n g w i t ht h e n e t w o r k i tm a k e si s o l a t e da n d c o m p l i c a t e d c l i e n t s e r v e r a p p l i c a t i o n ss e l f m a n a g i n g c o m p o n e n t s ,w h i c h c a l lb er e a l i z e dt oi n t e m p e r a t ew i t ho n ea n o t h e rf r o mv a r i o u sn e t w o r k sa n d d i f f e r e n to p e r a t i n gs y s t e m s a st oe n t e r p r i s ea p p l i c a t i o n ,t h i st e c h n o l o g yc a r lb u i l da no p e n e d s o f t w a r eb u st oi n t e g r a t et h ee n t e r p r i s es y s t e m si nd i s t r i b u t e de n v i r o n m e n t t h i sp a p e rd e s i g n sa n d i m p l e m e n t sad i s t r i b u t e dp a r a l l e lm o d e l 、 ,i t l l n e tr e m o t i n gw h i c h b a s e do n n e tf r a m e w o r k i t sa i mi st o s u p p l yas o l u t i o n t o m a n a g ee m e r p r i s ea v a i l a b l e r e s o l l l c e se f f i c i e n t l ya n dt op r o m o t et h ea b i l i t yo f d e a l i n g 谢n 1 b u s i n e s s ,w h a t sm o r e ,t os u p p l y a ns t a b l ee n v i r o n m e n tf o ra p p l i c a t i o nd e v e l o p i n g t h em o d e la d d sas e r v i c e - m a n a g e dl a y e r b e t w e e ns e r v i c e r e q u e s tl a y e ra n ds e r v i c ed i s p o s a ll a y e rw h i c hc a nd e a lw i t ht h ev a r i o u s r e q u e s t sa n dd i s p a t c h t h e s er e q u e s t st ot h ei d l es e r v e r sa tt h es a m et i m ew i t hm u l t i - t h r e a d s a n d a sl o o s er e q u e s tc o m p o n e n t s ,s e r v i c er e q u e s tl a y e rj u s tc o m m u n i c a t e sw i t hs e r v i c e m a n a g e d l a y e rt h r o u g hc o m m o n i n t e r f a c e t h es e r v i c e m a n a g e dl a y e rc o n t r o l sw h o l er e s o u r c e sa n dc a n c a t c ht h ee x c e p t i o n sf r o mt h ed i s p o s a ll a y e ra n dr e d i r e c tt h ec a l c u l a t i o nt ot h en e ws e r v e r st o d e a lw i t l lt h er e q u e s t w h a t sm o r e t h es e r v i c e - m a n a g e dl a y e rc a na r r a n g et h er e g i s t e ro f s e r v i c em o d u l et ot h es e r v e r s ,a n dm a k et h ep r o c e s sa n dc a l c u l a t i o ns e p a r a t e d t h i sw i l l o p t i m i z et h ed e s i g np a t t e r n b e t w e e nc l i e n t sa n ds e r v e r s t h em o d e li sr e a l i z e db yc # d u r i n gt h er e a l i z a t i o no ft h em o d e l e x c e p tu s i n g n e t r e m o t i n g ,t h em o d e la l s ou s e s n e tr e f l e c t i o n 、s o c k e ta n d x m lt e c h n o l o g i e s t h i sp a p e rw r i t e s t h ed e s i g n p r o c e s s 、t h ec h o i c eo f r e a l i z a t i o nt e c h n o l o g ya n ds o m e i m p o r t a n t r e a l i z a t i o na b o u t t h em o d e l t h i sp a p e ra l s og i v e st w oa p p l i c a t i o n so f p a r a l l e lc a l c u l a t i o nb a s e do n t h i sm o d e l o n ei sac a l c u l a t i o no n j t ,a n dt h i sp a p e rg i v e st h ec o m p a r eb e t w e e nt h es i n g l ec o m p u t e r p r o c e s sa n dm u l t i p l ec o m p u t e r sp r o c e s s a n o t h e r i sar e a le n t e r p r i s ea p p l i c a t i o nw h i c hi sf r o ma c h a r g i n gs y s t e m t h i sm o d e lh e l p s t h ee n t e r p r i s et 0d e a lw i t ht h ec l i e n t s q u e r i e st op r o m o t et h e e f f i c i e n c y k e y w o r d s :d i s t r i b u t e da n d p a r a l l e lm o d e l ;n e tr e m o t i n g ;d i s t r i b u t e do b j e c t t e c h n o l o g y ;e n t e r p r i s ea p p l i c a t i o n 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究 工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 大连理工大学或其他单位的学位或证书所使用过的材料。与我一同工作 的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢 意。 作者签名:歪丝日期:丝竺二丝 大连理工大学硕士学位论文 引言 随着企业应用的不断发展,搭建一个具有整合、开放、自主和虚拟特性的运作环境 是必不可少的。随需应变的运作环境将彻底改变企业的成本核算模式。很多企业为了保 证业务不间断地运转以及进行繁重的业务处理将不得不花费大笔的资金去购买那些昂贵 的i t 设备,而除了少数的业务高峰时间外,这些计算资源都在白白浪费 1 。如何利用 闲散的计算资源,这已经不是一个新课题了【2 】。 分布式对象技术允许运行在一台计算机上的应用程序或对象访问其他机器上运行的 对象。正如r p c 让远程过程好像本地过程运行一样。这就使得我们可以把闲散的资源 利用起来,为了完成一个共同的任务而进行协调计算成为可能。而且,伴随着分布式计 算的发展,诸如d c o m ,c o r b a ,j a v ar m i 等分布式对象技术已经越来越多地被应用在企 业的业务处理中。n e t 框架作为面向企业级应用的下一代开发框架,提出了面向企业 级的分布式计算模型解决方案。通过提供事务、安全、同步、队列、事件以及负载平衡 等基础服务,简化面向企业应用设计、开发者的工作。它带来了全新的、快速而敏捷的 企业计算能力,也给软件开发人员提供了支持未来计算的高效w e b 服务开发工具。 目前企业的分布式应用已经朝着面向服务s o a 的软件架构方向发展,在s o a 架构 下,以服务或组件形式出现的业务逻辑可以被共享、重用和配置,在s o a 架构下,任 何一种应用都由若干种服务组成,这些服务在开发之时就已经考虑到重用问题,提供了 标准的接口,可以被各种应用和其他服务所调用。与传统集成方法相比,s o a 的优势 十分突出:基于标准、松散耦合、共享服务、粗粒度和联合控制。s o a 可以根据需求 通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。 本文对s o a 软件框架理论、分布式对象技术、网格计算技术、n e t 框架以及n e t 的企业应用集成等技术进行了学习和研究,并在此基础上吸取了s o a 框架的一些思 想,设计并实现了针对企业的分布式并行处理模型,以解决当前企业业务处理不断扩展 与资源浪费之间矛盾的需求。该模型虽然不能与网格计算相提并论,但它具备了网格计 算的一些性质,使得企业应用能够在新的环境下,合理利用资源,提高企业业务处理的 能力。同时该模型利用了n e t 框架实现,旨在利用n e t 的企业应用解决方案使在模型实 现中的许多难点成为现实,达到快速开发实现。 本文围绕着模型的设计与实现展开。共分为五章。第一章介绍了与本论文相关的一 些发展背景以及企业应用现状,包括分布式计算技术、网格计算技术的相关知识和当前 企业的发展方向面向服务的软件框架理论。在对这些技术的发展分析以及企业应用方向 基于n e t 的企业级分布式并行模型设计与实现 分析的基础上,第二章建立了本文的模型,并介绍了本模型的设计的一些细节。第三章 在设计完成模型的基础上,对现有的开发技术及平台进行论述并作出了模型实现技术的 选择。第四章主要介绍了运用n e t 进行模型的实现,重点介绍了模型实现中几个主要的环 节。第五章,主要介绍了模型实现后,对模型的测试。利用测试所得数据验证该模型的 分布式并行的效率,另外还介绍了一个解决实际企业业务处理应用的例子。在结尾部分 对本文的工作作了总结,指出了在实际设计与实现中得出的结论。 最后总结本人在本模型设计与实现中的工作如下: 1 设计了该模烈的大部分组件。 2 编写代码实现了该模型的大部分功能。 3 对实现后的模型进行了测试。 4 在实现的模型平台上运行了应用实例。 2 大连理工大学硕士学位论文 1 课题相关背景与课题意义 1 1 分布式计算 1 1 1 分布式计算的产生与发展 自人类在二十世纪四十年代发明了第一台电子计算机以来,计算机技术的发展真的 是日新月异。在五十年代,计算机是串行处理机,一次只能运行一个作业直至完成。这 些处理机通过一个操作员从控制台操纵,而对于普通用户来说根本不懂得如何去操作。 在六十年代,批处理系统使得作业操作人员从繁重单一工作中解放出来,批处理通过计 算机不停的运行以减少计算机的空闲时间,有效地利用资源。在同一时期还提出了其他 一些技术,如利用缓冲、假脱机和多道程序等的脱机处理。七十年代产生了分时系统, 不仅作为提高计算机利用率的手段,也使用户离计算机更近了。分时系统使得用户可以 在不同的地点共享并访问资源,这奠定了计算机迈向分布式系统的第一步。八十年代是 个人计算机的十年,人们有了他们自己专用的机器。由于基于微处理器的系统所提供的 出色的性能价格比和网络技术的稳步提高,九十年代随着微处理器技术的重大突破, 个人电脑操作系统方面的不断发展以及网络技术的成熟,分布式系统应运而生。 分布式计算也是随着计算机技术,网络技术的发展以及越来越多的计算需求而产生 的。分布式计算概念最早诞生在2 0 世纪7 0 年代的施乐公司帕洛阿尔托研究中心。那里 的网络科学家们创造了一个名为“蠕虫 ( w o r m ) 的程序,该程序在研究中心的2 0 0 多台机 器上漫游,目的是用来搜索可投入使用的闲置电脑。这一项目后来演变成一场灾难,蠕 虫可以运行导致系统瘫痪的测试程序,当某一主机下辖的每一台电脑都瘫痪后,蠕虫程 序又扩展到一个新的主机上,使它瘫痪。今天提起蠕虫,大多数人已经忘记了这其实是 分布式计算的起源,而只记得它是一种破坏性极强、自我传播快的电脑病毒。 分布式计算的概念此后一段时间里进入冬眠期,到9 0 年代中期因特网开始普及、 数百万台电脑可以通过一个单一的网络相连接时,分布式计算的概念又开始复兴。科学 家开始推出各种质数研究和解密工作,这些计算工作是专为这种方式而设计的,因为这 些计算简单,但计算次数却大到难以想象。 最终将分布式计算带到大众面前的是一个名为s e t i h o m e 的狂想家项目 5 。加州 大学伯克利分校领导的工作支持搜索外星智能,让个人电脑用户研究来自波多黎各 a r e c i b o 天文台射电望远镜的数据,来搜索可能是来自于先进文明的不寻常信号。 表1 1 列出了分布式计算发展的不同阶段的不同特征,以及一些关键技术及特点。 3 基于n e t 的企业级分布式并行模型设计与实现 如果说某项工作是分布式的,那么参与这项工作的一定不只是一台计算机,而是一 个计算机网络。一个分布式计算系统由在作为一个系统运行的多个计算机上的多个软件 组件构成。分布式系统中的计算机由本地网络连接,或者可由在地理上相隔遥远的广域 网连接。分布式系统可包括许多可能的配置,如个人计算机、大型机、工作站等。分布 式计算的目的是使这种网络来充当单个计算机。 1 1 2 分布式计算的基础 1 网络通讯 没有网络通讯,当然就没有分布式计算,因为分布式计算是建立在网络通讯的基 础上的。所有分布式计算环境的基础是计算机之间的通讯。这个过程是最基本的过程, 也是必须的,并且从概念上反映了分布式环境和底层通讯模块的接近程度。 2 。客户端服务端模型( c l i e n t s e r v e r ) 在分布式系统上组织软件运行的一种常见方法是将功能分成两部分一客户端和服务 端。客户端请求服务,服务端则执行该服务。无论是客户端还是服务端,都只是在通讯 中作为一个参与者。在每次通讯过程中,他们都不断变化,这次是客户端的角色,下次 d 大连理工大学硕士学位论文 就可能成为服务端。采用客户端朋匣务端模型的系统具有以下优点:优化网络利用率,减 少了网络流量;响应时间短;把应用程序同它们处理的数据隔离,可以使数据具有独立 性。 3 应用编程接n ( a p i ) 通讯功能的核心部分通常是由操作系统和网络相关的a p i 提供。这两种程序调用大 量的通讯函数来完成实际的系统间数据的传输及接收。总的来说,这些底层组件为底层 的通讯模块提供了一定层次的抽象,同时也将更高层次的地址标识和数据转换等功能留 给高一层的服务模块。 4 消息机制 消息包中包含了消息包的属性标志和具体信息。这样,消息机制就要求服务器上必 须要有一层中间处理层来确定消息的路由,以便让它到达正确的接收者处。基于消息的 通讯能够很好地和中间层的路由配合,可采用异步模式、同步模式或混合模式。在混合 模式中,服务端采用异步模式进行操作,而客户端则采用同步模式。这种组合让服务端 获得了异步操作的高效率,同时也让客户端从同步模式的简单处理机制和安全性上获得 了好处。 5 分布式对象 分布对象技术是伴随网络而发展起来的种面向对象的技术。分布式对象结构几乎 完全隐藏了对象的执行细节。分布对象往往又被称为组件( c o m p o n e n t ) ,组件是一些 独立的代码的封装体,在分布计算的环境下可以是一个简单的对象,但大多数情况下是 一组相关的对象复合体,提供一定的服务。分布环境下,组件是一些灵敏的软件模块, 它们可以位置透明、语言独立和平台独立地互相发送消息,实现请求服务。传统的面向 对象技术通常强调的是代码复用,对象往往仅存在于一个程序中,程序的外界并不可能 感知和访问这些对象。而分布式对象技术主要使用了面向对象技术的封装性,组件可以 分布在网络的任何位置。对外界来说,它所需关心的只是组件的界面,至于内部是如何 实现的则无需考虑,远程客户通过方法调用来访问它。这是分布式对象技术和传统的面 向对象技术的最大的不同点。 6 数据库技术 数据库系统包括数据、硬件、软件和用户四个主要部分。其优点体现在数据独立 性、数据共享、减少冗余、避免不一致、保持完整性、增强安全性、平衡相互冲突的请 求、加强标准化等方面。数据库设计应满足结构准则和性能准则。结构准则考虑保持数 据的有效性、一致性和完整性:而性能准则主要是资源的合理使用和数据库的存取效 5 基于n e t 的企业级分布式并行模型设计与实现 率。在分布式计算系统中采用的数据库软件应为关系型网络数据库。数据库系统应支持 c 1 i e n t s e r v e r 结构,支持分布式数据库管理和分布式数据处理,支持多客户、多线 程、多处理器工作方式,提供开放式的编程接口,具有较高的容错能力,提供较强的安 全机制可对数据库、库表、表列进行安全限制, 1 13 分布式计算技术的优点 与传统的集中式计算机系统相比,分布式计算系统有以下优势: 1 可伸缩性。可通过按需添加更多机器来简易地展开系统。 2 冗余。若干机器可提供同一服务,因此如果一个机器提供的服务不可用,工作 不会停止。 3 逻辑封装性。将以往全部由客户机完成的事务逻辑中的一部分从客户端分开。 当需要动态改变一个应用软件的商业逻辑规则时,只要改变一个应用服务器的 程序即可,而不需要更改客户端用户界面,提高了工作效率。 4 计算资源的共享。用整个网络中的所有计算机来处理总比单台机器要快一些, 另外,一些运算速度比较慢的客户机也可以用运算速度比较快的服务器来协作 完成某项工作。 5 减轻网络负荷。在分布式数据处理中,在网络中所传输的仅仅是一些数据处理 后的结果,而不是大量的中间数据,整个网络的负荷就会降 氐了。 6 安全性。可以把一些关键的计算过程和数据放在服务器上,并给予特殊的安全 保护。 7 合理的软件结构。在某一些环境下,拥有分布式计算的软件结构更加容易解决 实际问题。 1 2 网格计算 分布式计算是伴随网络而发展起来。而网格计算则是分布式计算技术的进化。网格 计算是把各种各样孤立的分布式系统整合起来,实现庞大的数据、资源、计算能力的共 享。 1 2 1 网格计算的定义 网格计算是一种新兴的技术,不同的人有不同的定义。从开发人员的角度来看,网 格是由一些虚拟组织通过使用一套公共协议组成的。这些协议允许网格用户和应用程序 以安全、受控方式运行服务。对网格的所有用户来说,网格就是一个运行任务的巨大的 虚拟计算机。这个虚拟计算机将由各种计算资源组成。但是这些单个的资源对于用户将 6 大连理工大学硕士学位论文 是不可见的,就象用户不知道他们的电是怎样产生的一样。要实现这种前景,就必须有 网格计算标准,它支持构建安全而又健壮的基础结构。 1 2 2 开放网格体系结构 o g s a ( o p e n g r i ds e r v i c e sa r c h i t e c t u r e ) 被称为是下一代的网格体系结构,它是在 原来“五层沙漏结构”的基础上 6 】,结合最新的w e bs e r v i c e 技术提出来的。o g s a 包括 两大关键技术即网格技术和w e bs e r v i c e 技术。 o g s a 最突出的思想就是以“服务”为中心 6 。如图1 1 为o g s a 的整体框架图, 在o g s a 框架中,将一切都抽象为服务,包括计算机、程序、数据、仪器设备等。这 种观念,有利于通过统一的标准接口来管理和使用网格。w e bs e r v i c e 提供了一种基于 服务的框架结构,但是,w e bs e r v i c e 面对的一般都是永久服务,而在网格应用环境 中,大量的是临时l 生的短暂服务,比如一个计算任务的执行等。考虑到网格环境的具体 特点,o g s a 在原来w c bs e r v i c e 服务概念的基础上,提出了“网格服务( g r i d s e r v i c e ) ”的概念,用于解决服务发现、动态服务创建、服务生命周期管理等与临时服 务有关的问题。 图1 1o g s a 整体框架图 f i g 1 3o g s aa r c h i t e c t u r e 基于网格服务的概念,o g s a 将整个网格看作是“网格服务”的集合,但是这个集合 不是一成不变的,是可以扩展的,这反映了网格的动态特性。网格服务通过定义接口来 7 基于n e t 的企业级分布式并行模型设计与实现 完成不同的功能,服务数据是关于网格服务实例的信息,因此网格服务可以简单地表示 为“网格服务= 接口行为+ 服务数据”。 在目前,网格服务提供的接口还比较有限,o g s a 还在不断的完善过程之中,下 一步将考虑扩充管理、安全等等方面的内容。 以网格服务为中心的模型具有如下好处:1 由于网格环境中所有的组件都是虚拟 化v i r t u a l i z e d ,因此,通过提供一组相对统一的核心接口,所有的网格服务都基于这 些接口实现,就可以很容易地构造出具有层次结构的、更高级别的服务,这些服务可以 跨越不同的抽象层次,以一种统一的方式来看待;2 虚拟化也使得将多个逻辑资源实 例映射到相同的物理资源上成为可能,在对服务进行组合时不必考虑具体的实现,可以 以底层资源组成为基础,在虚拟组织( v i r t u a lo r g a n i z a t i o n ) 中进行资源管理。通过网 格服务的虚拟化,可以将通用的服务语义和行为,无缝地映射到本地平台的基础设施 上。 1 3 企业应用发展方向 目前,企业大都关心并正在处理两个问题:迅速改变的能力和降低成本的要求。为 了保持竞争力,企业必须快速地适应内部因素( 如兼并和重组) 或外部因素( 如竞争能 力和顾客要求) ,这就需要经济而灵活的i t 基础设施来支持企业,s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 正是在这个需求的基础上应运而生的。基于s o a 的软件将以其协 同、高效、易于布署和维护等优点,迅速取代传统架构的软件。 1 3 1s o a 的发展由来 在计算机发展的历史中,软件开发经历了数种设计方法的变革。每一次变革在一定 程度上都是为了处理不断增加的软件复杂度。采取的办法是不断地创造出一些粗分的结 构概念,比如函数,类,组件( c o m p o n e n t ) 。可以认为这些概念就是软件的”黑箱”。 黑箱提供受控的通过接口对其内部行为和数据的访问,以此来隐藏它的内部实现方法。 它就好像是一个软件意义上的集成电路。在细分的层次上,人们用对象来隐藏数据和行 为,而在较粗的层次上,采用的是组件。在对象级别上隐藏信息使其在小型系统中运作 的很好,它让人们能够在软件中建立结构概念,映射出真实的世界。但是当试图在系统 中包含更多的对象时,便出现问题了。尽管对对象的访问通过接口得到了控制,但是在 大型系统中,以对象为单位,便使对对象之间的依赖关系的控制更难了。引入组件的概 念让人们能更好地控制了这种依赖性。一个组件由一组对象构成,它们共同工作来提供 - - o o 系统的功能。比如一个声明和一个自动的已声明的对象可以统一在一个声明组件中 8 大连理工大学硕士学位论文 为一个大型的程序提供声明的功能。组件是大型系统中又一种具有某种功能的黑箱。除 了它本身,其声明和对象对系统的其他部分是不透明的。这意味着它不可能和系统的其 他的部分有相互依赖的关系,因为所有的对象等都被隐藏起来了。而服务是指仅基于两 个组件接口之间的契约,由一个组件提供其行为方法给另一个使用。每种服务都有一个 网络可编址的接口,它强调交互操作,有可能被动态的定位并使用。 s o a 是关于怎样组织i t 系统和它们之间如何交互的一套原则。它的概念最先是由 g a r t n e r 公司在1 9 9 4 年提出的 7 】,随后,由于w e b s e r v i c e 技术的发展,以及系统集成的 需求,越来越成为现在企业应用开发的框架标准。s o a 不是一种技术,而是一种解决 问题的软件系统架构。在s o a 架构下,以服务或组件形式出现的业务逻辑可以被共 享、重用和配置,如此一来,企业应用集成变得轻而易举。过去,企业应用开发一直采 用先开发、后集成的模式,而在s o a 架构下,任何一种应用都由若干种服务组成,这 些服务在开发之时就已经考虑到重用问题,提供了标准的接d 8 ,可以被各种应用和其 他服务所调用。 这种具有中立的接口定义( 没有强制绑定到特定的实现上) 的特征称为服务之间的松 耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序 的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦 合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对 部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。 对松耦合系统的需要来源于业务应用程序的需要。根据业务的需要变得更加灵活, 以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、 行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。 虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模型的 替代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于s o a 的系统 并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于 它考虑到了系统内的对象,所以虽然s o a 是基于对象的,但是作为一个整体,它却不 是面向对象的。不同之处在于接口本身。 1 3 2e s b 在s o a 内的工作角色 e s b ( e n t e r p r i s es e r v i c eb u s ) 企业服务总线是支持s o a 的”+ 组基础架构功 能,是企业内部面向服务体系结构的核心平台。为了实现s o a ,应用程序和基础架 构都必须支持s o a 原则。启用s o a 应用程序涉及到创建服务接口,服务接口可以直 接也可以间接地通过使用适配器用于现有的或新的功能。从最基本的级别来看,启用该 一9 基于n e t 的企业级分布式并行模型设计与实现 基础架构涉及到规划功能来将服务请求路由和传递给正确的服务提供者。然而,基础架 构支持在不影响服务的客户端的情况下由另一个服务实现替代原有的服务实现也是至关 重要的。这不仅需要根据s o a 原则指定服务接口,而且需要基础架构允许客户端代码 以独立于所涉及的服务位置和通信协议的方式来调用服务。这样的服务路由和替代是 e s b 的许多功能中的一部分。 e s b 支持这些服务交互功能,并通过提供集成的通信、消息传递以及事件基础架 构来支持这些功能。因此,它将当今正在使用的主要企业集成模式组合成一个实体。 e s b 为s o a 提供与企业需要保持一致的基础架构,从而提供合适的服务级别和可管 理性、以及异构环境中的操作。 1 33s o a 应用发展现状 目前,s o a 已经成为了企业发展的一种战略,许多大型的i t 公司都在研发基于 s o a 的相关的软件部署实现解决方案。m m 目前针对s o a ,正在建立一套方法论,用一 致性的标准流程来开发配置s o a ,实施整合、建立服务总线、应用w e b 服务等,并管 理设计、开发和配置m m 的s o a 技术。甲骨文的o r a c l ea p p l i c a t i o ns e r v e rl o g 也定位 在建立s o a 环境的a p s ( a p p l i c a t i o np l a t f o r ms u i t e ,应用服务平台套件) 9 。o r a c l e a p p l i c a t i o ns e r v e r1 0 9 中包含了9 8 项中间件技术专利,突出了s o a 、安全、管理等特 点,这对于甲骨文来说具有里程碑式的意义。作为甲骨文s o a 平台,o r a c l ea p p l i c a t i o n s e r v e r1 0 9 支持整个服务的生命周期,帮助客户简化复杂的应用。为了能够实现s o a 的 这样一个远景,b e a 公司首次推出了流体计算概念,b e a 公司在中国已经在一些企业 实施了s o a 。 1 4 课题意义 网格计算提出了面向服务的概念,在o g s a 框架中,将一切包括计算机、程序、 数据、仪器等在内的设备都抽象为服务,为用户使用。这种观念,有利于通过统一的标 准接口来管理和使用网格。在o g s a 框架下的企业网格,势必会通过w e b 服务来使企 业对外形成一个统一的企业门户。然而在企业内部,怎样实现企业资源的整合,企业资 源的有效利用,以及快速高效的进行企业的业务处理,并能适应企业业务的扩展,为企 业应用开发人员的开发打好基础,许多业界的巨头们都在企业网格上面试图做出自己的 贡献。如m i c r o s o f t 的o o s i n e t 1 0 的开发,o r a c l e 的l o g ,i b m 的g r i dt o o lb o x ,但 是目前,网格在企业中的应用相对还不成熟。 1 0 大连理工大学硕士学位论文 不谋而合,s o a 作为新一代的企业应用软件架构,也提出面向服务的思想。在 s o a 的框架当中一个很重要的特点,就是要共享一些基础件的服务。这种架构认为, 企业中的业务处理与应用可以划分为不同的基础服务提供给最终的用户,s o a 可以简 单的理解为“抽象、松散耦合和粗粒度”的软件架构,它可以根据服务请求通过分布式网 络对松散耦合的应用群件进行部署、组合和使用。当你建立了这些共享的基础件服务之 后,很多服务都是可以重复使用的,不需要在每一个项目上重新来建立。 但是s o a 只是一种软件架构,并不是一个平台,也不是一种具体的实现。而目前 针对于并行计算的研究工作,也大多集中在并行算法,集群系统等技术的研究上,而对 于分布式并行的研究,大多把工作集中在对一个具体问题的分布并行研究工作上。 本文的模型吸取了企业应用的s o a 框架理论,试图为企业在业务处理上提供一个 通用的分布式并行调度平台,将分布在企业内部不同计算节点上的服务,根据业务处理 需要,在服务管理端进行并发的调用,而使分布在企业内部计算资源上的服务真正进行 并行的业务处理,从而有效的利用企业计算资源,提高企业的业务处理效率。并在这个 基础上,加入了服务的动态加载,服务申请的统一接口实现,以及计算资源的动态加入 等模块。完整的实现了企业业务处理应用的分布式布署。 近年来基于接口的分布式并行调度模型的设计与实现工作,已经有很多人在研究与 实现 1 1 ,这些模型的提出以及实现并没有为企业带来一个通用的服务调度环境,也没 有为企业应用提供一整套的注册以及发布机制的实现。而作为各大企业研究热点的 s o a 软件框架的设计与实现还是一种商业产品,其实现技术以及功能构造还没有公 开。例如b e a 公司的流体计算模型应用 9 。 本文对该课题的研究,有助于加深对分布式计算技术的理解及应用,有助于加深对 基于分布式并行计算架构的认识,同时,为研究企业资源的合理利用,分布式业务处理 打下基础。特别是本文建立的企业级分布式并行模型,加深了对于并行过程中多线程机 制的认识与应用以及多计算节点并行调度管理的理解。 基于n e t 的企业级分布式并行模型设计与实现 2 模型的建立 2 1 模型的提出 现阶段企业所面临的问题是,企业业务处理的需求越来越多,规模也越来越大,但 是很多企业还没有实力去购买造价昂贵的大型机器,而且大型机器又会给管理与维护带 来很多麻烦。目前的企业业务处理,也大多数采用了c s 的三层模型结构,使业务处理 能够分布在整个企业的方方面面。但是,业务处理方式还是被集中起来,进行串行化的 处n 1 2 。集中处理的好处是可以进行集中控制,能够肯定业务处理所需要的条件的正 确性,使得业务处理能够正确执行。但是这样一来,所有的业务都必须串行处理,处理 效率明显低下。 为了合理利用企业中的有效资源,以提高企业业务处理的效率,同时又为企业对外 提供统一一致的服务接口,而对内可以通过各种方式处理更多的业务需求,并为企业开 发人员在以后的扩展开发中提供一整套的开发模型,本文建立了如图2 1 的并行结构模 型。在图中,服务提供端以组件的形式提供服务。组件技术把服务实现的细节屏蔽掉, 提供一个单一独立的功能供外部调用。组件分布在企业不同的计算资源上,每一个计算 节点可以拥有多个服务组件,而同一服务组件也可以分布在不同的计算节点上。而管理 层同组件的调用是通过一个事先约定的接口进行的。并且管理者利用了多线程机制进行 对不同的服务请求进行处理。在服务使用端,使用者只需和服务管理者打交道,告诉管 理者要调用的服务,而且这种调用也是通过事先约定的接口进行调用的。这样一来,服 务管理者的角色作用就被固定下来,在它内部的实现就变得固定不变了。服务处理与服 务请求之间的紧耦合关系也变得松散开来,图中在服务管理端加入服务的注册和发布功 能,注册简化企业服务的分布式布署问题,而服务的发布沟通了服务请求端和服务提供 端的联系,使服务请求者知道企业提供了哪些服务以及服务调用的规则。而且服务请求 者可以根据业务处理需要利用线程等一些实现方法,对分布在不同计算节点上的服务进 行调用,而在服务提供端达到真正并行处理的目的。 实际上,服务提供端的并行包含两个方面的含义:1 同一个服务请求者并发调用 在不同计算节点上的服务,使不同计算节点上的服务同时进行处理。2 不同的服务请求 在通过服务管理者后实现了在多个计算节点上并行服务处理。 这样一来,服务提供端以组件形式提供服务,屏蔽了服务的实现细节。而在服务管 理层对不同的服务请求统一进行服务的分配调度处理,尽量使服务的调度达到负载均 1 2 大连理工大学硕士学位论文 衡,而外只是提供接口供外界调用,屏蔽了调度实现的细节。这种方式不仅增强了业务 处理的安全性,而且使得企业应用的开发模式变得相对灵活。 图2 1 并行模型架构 f i g 2 1p a r a l l e lm o d e la r c h i t e c t u r e 2 2 模型的设计 在该企业模型中主要涉及到三种角色:服务提供者,服务的管理分配调度者,服务 使用者。他们的关系和在该模型中的大体调用关系如图2 2 所示。 服务提供者提供服务来进行实际的企业业务处理。服务使用者申请服务,让服务提 供者进行业务处理,并把结果返回给它。服务管理者动态管理使用者的服务请求,分配 调度服务。企业内部的有效计算资源都可以动态地向服务的管理者申请加入服务提供行 列,资源一旦被动态加入服务管理者的服务提供者行列,由管理者统一分配服务,并动 态调用,企业资源就变成了服务提供者。服务调度者根据不同的使用者请求,利用一切 可以利用的资源为服务使用者服务。这样,服务管理调度者对服务使用者屏蔽了处理细 节。并提高了处理效率。 同时,为了能使该模型在不影响其运行的情况下增加入新的业务处理服务,服务调 度管理者还提供了注册服务机制。所有的服务注册都可以提交给管理者,而服务的分配 与管理,则通过服务管理者与服务提供者的通信动态完成,这使得服务的发布成为无接 触部署的状态,更好地适应了企业的业务处理需求。 - 1 3 基于n e t 的企业级分布式并行模型设计与实现 图2 2 并模型总体调用关系图 f i g2 2t h e w h o l ep a r a l l e lm o d e li n v o c a t i o n a lr e l a t i o n s h i p 服务使用者和服务的管理调度者可能在同一个内部的企业网中,也可能分布在 i n t e r n e t 上。因此在服务的管理调度层向服务使用者提供了两种通道的通信方式,一种 为基于s o a p 的h t t p 通道,另一种为基于二进制流的t c p 通道。s o a p 通道为i n t e m e t 上的 服务使用者提供通信,它能有效地穿越防火墙。但是s o a p 的解析和格式化需要时间 1 3 ,因此在企业的内部网中可以采用t c p 通道的二进制流来进行通讯,以提高调用速 率。一个基于此模型基础的企业网络拓扑如图2 3 所示。 图2 3 中企业中的服务器构成一个对等的企业服务资源,供服务管理者( 图中为 w e b 服务器) 调用,服务管理者对来自不同客户的请求进行统一的分配调度,使各种资 源合理被利用,同时达到并行的对多个请求进行处理的目的,提高工作的效率。用户可 以随时通过服务管理者的w e b 页面向服务提供者注册新的服务,服务管理者检测服务的 合法性,然后通知服务提供者注册该服务,接着服务管理者更新相应的注册文本,为该 服务的调度做好准备。在企业的内部的用户,可以既是服务的使用者,也可以充当服务 的提供者,当企业内部用户向服务调度者发出申请,服务调度者把该资源加入服务提供 者的队列后,该用户就变成了服务的提供者了。 1 4 大连理工大学硕士学位论文 图2 3 基于本模型的企业网络拓扑 f i g 2 3e n t e r p r i s en e t w o r kd i s t r i b u t i o nb a s e do i lt h ep a r a l l e lm o d e l 2 2 1 业务处理请求的设计 由于在模型涉及到的三种角色中,服务管理者相对是固定不变的,它的作用就是接 收服务提供者的请求,然后把该请求根据服务提供者忙闲状况,分配到相对比较闲散的 拥有该请求服务的计算节点上去。而服务管理者并不关心服务的运行情况。为此本文在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中生怎样做好期末复习
- 初中道德与法治七年级上册《第七课 美好的青春》《第八课 正视自我成就自我》等(同步训练)
- 创文社会实践心得体会(32篇)
- 2025年江苏省淮安市中考语文真题卷(含答案与解析)
- 初中语文大单元教学设计的理念
- 安徽省蚌埠市2025-2026学年高二生物上学期10月月考试题pdf含解析
- 成本管理论文的范文锦集
- 麻醉科病例讨论
- 光明乳业物流管理现状分析与对策研究开题报告
- 大数据背景下财务共享中心研究-以苏宁易购为例
- 2025年郑州水务集团有限公司招聘80人笔试模拟试卷带答案解析
- 2025年国有企业管理专员岗位招聘面试参考题库及参考答案
- 无纺布袋采购合同范本
- 2025年铁路安全教育培训考试试题及答案
- 抖音直播培训方案
- 2025宁夏回族自治区大学生乡村医生专项计划招聘工作人员13人考试笔试模拟试题及答案解析
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 施工现场工程质量管理标准化实施细则
- 数学物理方程ppt课件
- OMC系统通用技术规范V100
- 日本老年公寓考察成果汇报
评论
0/150
提交评论