




已阅读5页,还剩80页未读, 继续免费阅读
(机械设计及理论专业论文)数字化设备资源共享系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l 、 , 0 ( r c 江苏大学硕士学位论文 摘要 随着网络技术的飞速发展,虚拟实验室为大多数实验室较难购置昂贵精密仪 器设备的问题提供了解决之道。作为虚拟实验室的重要基础技术设备资源网 络共享已经成为该领域的研究热点和前沿技术,呈现出良好的发展前景 数字化设备资源共享原型系统是一种新的设备资源网络共享方式该系统能 够在j i n i 技术和移动a g e n t 技术支持下,代替用户实现设备资源的动态发现、动态 发布、自主协商和找到远程操作服务 本文在深入研究了j i n i 技术的发现机制的基础上,指出了直接使用该技术不 适合于在整个因特网运行的问题实质,独立设计了j i n i 查找服务的网络拓扑结构, 保证系统不受范围限制的运行:选择k q m l 作为移动a g e n t s 通信和协商语言,深 入研究了a g e n t s 的协商理论,认为轮流出价协商理论能够很好地表现移动a g e n t 在本文中的任务;仔细分析了现实生活中的轮流出价过程,抽象出了基于理性思 维的轮流出价一般规律,根据这些规律提出了一些新的见解并据此设计了一个实 用的协商算法课题组还设计了基于b s 和桌面共享模式的远程操作服务,该服 务主要用到了图像解压缩技术,套接字技术和多线程技术,它能够实现多个实验 人员协同实验和操作,能够屏蔽设备专业软件的特殊性,实现了广泛的共享 本文在研究了关键技术的基础上,分析了数字化设备资源原型系统所需的功 能,提出了设计原理并构造了系统的基本框架,同时具体描述了原型系统的移动 a g e n t 、a g e n t h o m e 和a g e n t h o s t 实现过程该系统的实现为虚拟实验室提供了强 有力的支持,为我国高校设备资源的共享提供了一种有效的途径。 关键词:移动代理,查找服务,拓扑结构,协商算法,远程操作服务 一 , 0 0 j : 车 江苏大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to f n e t w o r kt e c h n o l o g y , v i r t u a ll a b o r a t o r yp r o v i d e sam e t h o d f o rs o l v i n gt h ep r o b l e mt h a tm a n yl a b sc a nn o ta f f o r dm o r ea n dm o r ee x p e n s i v ea n d p r e c i s ee q u i p m e n t s a sa l li m p o r t a n tb a s i ct e c h n o l o g yf o rv i r t u a ll a b o r a t o r y , e q u i p m e n t s r e s o u r c e ss h a r i n gb a s e do nn e t w o r kh a sb e c o m er e s e a r c hh o t s p o ta n df o r e l a n d t e c h n o l o g yi nt h i sa r e aa n ds h o u l db ep r o m i s i n g d i g i t a le q u i p m e n t sr e s o u r c es h a r i n gs y s t e mi san e ww a y o fe q u i p m e n t sr e s o u r c e s s h a r i n gb a s e do nn e t w o r k t h i ss y s t e mr e a l i z e se q u i p m e n tr e s o u r c ed y n a m i cd i s c o v e r y , d y n a m i cd i s c o v e r y , d y n a m i cd i s t r i b u t i o n ,n e g o t i a t i o nb yt h e m s e l v e sa n df i n d i n gr e m o t e o p e r a t i o ns e r v i c eo fe q u i p m e n t sr e s o u r c e s a f t e rd c c pr e s e a r c ho fd i s c o v e r ym e c h a n i c so fj i n it e c h n o l o g y , w es h o wt h e p r o b l e m st h a ti ti sn o ts u i t a b l ef o rj i n it e c h n o l o g yb e i n gu s e dd i r e c t l yt oi n t e r a c t s oi d e s i g nas p e c i a lt o p o l o g yf o rj i n il o o k u ps e r v i c e ,w h i c hc a ne n s u r es y s t e mr u n n i n g a c r o s si n t e m e t c h o o s i n gk q m la so u rm o b i l ea g e n tl a n g u a g e w i t l lt h i sl a n g u a g ew e d od e e pr e s e a r c ho fn e g o t i a t i o nt h e o r i e s ,a n dt h i n ki ti sb e t t e rt ou s en e g o t i a t i o no f a l t e m a t i v eo f f e r st h e o r yw h i c hp r o p e r l yr e f l e c t st h et a s ko fm o b i l ea g e n ti no u rs y s t e m b a s e do nd e t a i l e da n a l y s i so fn e g o t i a t i o no fa l t e r n a t i v eo f f e r si nr e a ll i f e ,w eg e t c o m m o nr u l eo fn e g o t i a t i o no fa l t e r n a t i v eo f f e r su n d e rr a t i o n a lt h i n kb ya b s t r a c t i o n b a s e do nt h e s er u l e st h i sp a p e re n d u c e ss o m et h e o r e m s a n dt h e nw eu s et h e s e t h e o r e m st od e s i g nap r a c t i c a ln e g o t i a t i o na l g o r i t h ma sp a r to fo u rp r o t o t y p es y s t e m o u rg r o u pa l s od e s i g n sr e m o t eo p e r a t i o ns e r v i c eu n d e rt h em o d eo fb sa n dd e s k t o p s h a r i n gm o d e t h i ss e r v i c em a i n l yh a su s e di m a g ed e c o m p r e s s i o na n dc o m p r e s s i o n t e c h n o l o g y , s o c k e tt e c h n o l o g ya n dm u l t i t h r e a dt e c h n o l o g y t h i ss e r v i c ec a nh e l pp e o p l e d oc o l l a b o r a t i v er e m o t ee x p e r i m e n ta n do p e r a t i o n ,c a ns h i e l dt h ed i f f e r e n c eo fk i n d so f e q u i p m e n t s ,f i n a l l yr e a l i z ew i d e l ys h a r i n g a f t e rs o l v i n gt h ek e yp r o b l e m sr e l a t e dt op r o t o t y p es y s t e m ,w er e a l i z et h ed i g i t a l e q u i p m e n t sr e s o u r c es h a r i n gp r o t o t y p es y s t e m w ea n a l y z ef u n c t i o n sn e e d e db y p r o t o t y p es y s t e m ,a n dp u tf o r w a r dd e s i g np r i n c i p l ea n dc o n s t r u c tt h eb a s i ca r c h i t e c t u r e , d e s c r i b er e a l i z a t i o no ft h r e em a i np a r to fp r o t o t y p es y s t e mi nd e t a i l :m o b i l ea g e n l a g c n t h o m ea n da g e n t h o s t t h er e a l i z a t i o no ft h i ss y s t e mp r o v i d e ss t r o n gs u p p o r tf o r v i r t u a ll a b o r a t o r y c o n c e p t , a n da l s op r o v i d e sag o o ds o l u t i o nf o ro u rc o u n t r y s 江苏大学硕士学位论文 u n i v e r s i t ye q u i p m e n t ss h a r i n g 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子舨, 允许论文被查阅和借阅。本人授权江苏大学可以将本学位论文的全部 内容或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 本学位论文属于 保密口,在年解密后适用本授权书。 不保密 学位论文作者签名:砂多匆豆 指导教师签名: j 娘专 睥胡) 日山订年蝴多日 0 。 甜 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已注明引用的内容以外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。,本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:五 日期:。l 修年,l 月哆e t , # j * ” 卜 = p p l r 0 ( ; 鼋 江苏大学硕士学位论文 究具体的应用平台,目前主要通过设备协作网的建设来实现设备资源的共享如 北京科学仪器协作共用网、中国制造协作网等也有部分科研机构研究更深层次 q 江苏大学硕士学位论文 与来完成 第一种类型设备称之为数字化设备由于该类仪器设备自动化程度高,人为 参与的情况稍少,更适合进行基于网络的设备资源共享数字化设备要实现该资 源共享还需要研究如何确定数字化设备在网络上的位置( 目前定位的最优方式是采 用i p 定位的方法) ,如何将网络位置确定的资源告知需求方,如何自动地发现新产 生的资源等问题本文的工作内容就是数字化设备资源共享系统的研究,解决课 题上遇到的问题,以图能够找到一个有效的解决方案 1 4 研究内容 上文已经叙述了实现数字化设备资源共享的背景和国内外研究现状在第二 章中,将研究移动a g e n t 技术和j i r t i 技术,指出它们的优缺点,找到结合各自优点 的办法。由于j i n i 技术在目前的网络环境中只能在局域网中使用,大大限制了其 应有的功能,也不符合本文需要实现的基于整个因特网的共享系统。为此,将在 第三章中研究和设计j i r t i 查找服务的网络拓扑结构作为移动a g e n t 的运行框架第 四章主要研究了移动a g e n t 的通讯协议,即移动a g e n t 采用什么语言进行a g e n t s 之日】的交流在选定k q m l 作为a g e n t s 交流语言的前提下,提出了轮流出价协商 规则和定理,以此为基础设计了快速、有效和合理的算法,作为原型系统的一部 分。为了使数字化设备资源成为一个可以随时被系统认识,需要对设备进行封装。 但是正如上文所述,数字化设备的形式各样,所用的专业软件接口都不同。为此, 在第五章中将研究如何采用b s 和桌面共享模式实现远程共享服务,屏蔽专业软 件之间的差异。在第六章中主要是给出了原型系统整体框架的设计和主要模块的 实现。第七章总结全文。 5 江苏大学硕士学位论文 第二章j i n i 和移动a g e n t 技术分析 2 1j i n i 技术及其优点和局限性 2 1 1 j i n i 技术 j i n i 是一个基于由用户群组和用户群组所需资源所结成的联盟思想的分布式 系统系统的总体目标是将网络转变为一个灵活的、易于管理的工具,使资源可 以由人或者其它客户发现。系统的资源就可以是硬件设备、软件程序或是两者的 结合系统的重点就是通过灵活地增加和删除服务使网络成为一个能更好地反映 工作群组动态特性的更加动态的实体 j i n i 系统的最终目标由以下几个部分组成: 使得用户能够通过网络共享服务和资源。 能够允许用户网络位置改变后。也可以保证用户非常容易的获取网络上的 资源。 简化部署,维护和更改网络的任务 运行一个j i n i 系统需要三个基本的组成部分:服务、查找服务和客户端。服务 既可以是硬件也可以使软件,如打印机、数码相机等;客户端是准备使用服务的 用户或服务;而查找服务是作为服务和客户端之间的中介当然这其中还离不开 另外一个实体一网络,由它将这些联在一起( 见图2 1 ) 。 1 c p ,p 图2 1j i n i 系统组成 当一个设备插入网络,它首先通过发现过程( d i s c o v e r yp r o c e s s ) 来定位查找服 务,然后通过加入过程( j o i n p r o c e s s ) 上载一个实现了所有服务接口的服务p r o x y ( 见 图2 2 ) 因此,查找服务不仅知道该服务是否可用,而且还有能够唤醒该服务的 可以执行类。发现查找服务的过程可以分为两种类型:单播发现和多播发现如 果查找服务的位置事先知道,则该服务可以通过t c p i p 单播连接到查找服务如 6 k 0 江苏大学硕士学位论文 果事先不知道位置,则需要利用多播通信发现查找服务;而查找服务则通过4 1 6 0 端口监听可能有的服务请求,一旦收到请求,将传送一个对象返回到服务这个 对象称之为注册器( r e g i s t m f ) ,由它来完成服务在查找服务上的注册它将服务对 象的p r o x y 上载到查找服务中 等 = : 篙激麓肿mp-m 册鹏口徊 图2 2 定位查找服务,返回注册器和服务p r o x y 上载 客户端( c l i e n o 在通过与服务( s e r v i c e ) 发现查找服务( 1 0 0 k u ps e r v i c e ) 相似的方法 定位查找服务( 1 0 0 k u ps e r v i c e ) 后,也从查找服务中得到注册器( r e g i s t r a r ) 但此时注 册器所起的作用跟上文有点差别,它将负责从查找服务中获取所需服务的代理对 象( p r o x y ) 并下到客户端所在j a v a 虚拟机( j v m ) 中。在这里查找服务作为一个连接 器将客户端和它想要的服务连上,之后将不再参与客户端和服务之间的交互( 见图 2 3 ) 1 2 4 】【2 5 j 图2 3j i n ic l i e n tl o o k u p 2 1 2j i n i 核心概念 服务 服务是j i n i 体系结构中最重要的概念一个服务是可被用户、程序或其它服 务所使用的实体服务可以是计算、存储、与其它用户的通信、软件过滤器,硬 件设备等。 j i n i 系统的成员组成联邦共享服务。一个j i n i 系统不能简单的认为是一组客户 端和服务器、用户和程序,或程序和文件的组合实际上,一个j i n i 系统是由一 7 江苏大学硕士学位论文 群服务所组成用于完成特定任务的联合体一个服务可以使用其它服务,而且一 个服务的客户可能本身就是另一个服务,也可以有自己的客户j i n i 的动态特性, 江苏大学硕士学位论文 于注销相应服务因此,如果s e r v i c ep r o v i d e r 想让其提供的服务出现在l o o k u p s e r v i c e 中,以便客户选择使用,则s e r v i c e p r o v i d e r 要不停地更新对应的租约当 出现网络故障,服务崩溃或资源设备从网上拔走等情况时,该租约不能再被更新, 则当其到期后,对应的服务就从l o o k u ps e r v i c e 中注销。 事件 j i n i 体系支持分布式事件一个对象允许其他对象注册感兴趣的事件于该对象 中,并能够在这些事件发生时接收到一个通知这就保证在编写一个基于分枢式 事件程序时的可靠性和确定性 代理 对客户而言,代理具有和远程服务相同的编程接口,通过代理与相应的远程 服务通信,这样可以屏蔽下层网络细节。代理将客户的调用参数传送给远程服务, 然后接收远程服务的返回值,再交给客户。代理在j i n i 系统中的移动和所起的作 用如图2 4 所示 图2 4 代理实例 不难看出,c l i e n t 利用p r o x y 与s e r v i c ep r o v i d e r 进行通信,而这个p r o x y 最初 就来自于该s e r v i c e p r o v i d e r 因此,c l i e n t 只需要知道p r o x y 所支持的j a v a 语言接 口就可以调用服务。而p r o x y 和s e r v i c ep r o v i d e r 之间可以采用任何面向服务的协 议进行通信,并且通信协议改变时,c l i e m 也无须作任何改动,甚至可完全不关心 那些协议的变化。由此可见,通过代理的应用,c l i e n t 可以透明地使用服务,亦即 只需预先知道服务能作什么,而不必了解该服务是如何去做的,包括实现该服务 的语言,软硬件平台、物理位置和通信协议等 ,这种p r o x y 代码由s e r v i c ep r o v i d e r 转移到c l i e n t 的能力,既是j a v a 的特色 也是j i n i 与其它分布式系统,如c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ) 和d c o m ( d i s t r i b u t e dc o m m o no b j e c tm o d e l ) 的显著区别在那些系统中,客户和 9 江苏大擘硕士学位论文 服务进行通信的代码采用了依照i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 定义的静态协 议;通信协议改变时,要求客户和服务也同时作相应修改1 2 4 1 2 1 3j i n i 技术的局限性 缺乏对服务功能和内容的表现力仁6 】 在j i n i 系统中,服务是根据其接口和捆绑的属性来表示它们的功能和性能。 而客户端正是通过这些服务的属性和接口来发现想要的服务现存的服务发现框 架缺少丰富的语言、表现力和工具能够足以表示宽广的服务内容和解释服务的功 能和性质。在j i n i 体系中,服务的功能和性质在j a v a 对象接口类型里描述的f 枷 缺乏有效的约束和匹配能力哳l j i n i 的发现协议只进行服务描述的精确匹配和简单的约束概念比如,客户端 要寻找一个支持b w 的打印机,但是如果不存在b w 打印机,将不会返回其他彩 色打印机服务j i n i 的发现协议只通过语义上的精确匹配去发现一个服务,因此它 缺乏一种近似匹配的能力去寻找可用的服务。同样,协议允许发现一个给定位置 或给定打印队列大小的打印机,但是协议没有足够的能力查找一个既近而且打印 队列小的打印机。 缺少一定的社会行为能力 实际上,j i n i 的c l i e n t 通过到查找服务中下载s e r v i c e s 的p r o x y 与s e r v i c e s 进行 通讯是对j a v ar m i 的一种扩展这表明j i n i 依然使用c l i e n t - s e r v e r 模式来运行在 线服务。为了做到更加自然和本能的共享网络资源,我们需要采用更加动态的社 会行为如走出去、思考和协商等,从而达到网上更具有现实社会的合作和竞争的 能力 缺少降低网络流量的方案 虽然j i n i 作为一个动态的分布式系统是一个非常强大的框架,但是它依旧采 用传统的c l i e n t - s e r v e r 分布式计算风格。因此当客户端和服务器端之日j 有大量的数 据需要传递时,网络带宽被大量占用和网络延时是不可避免的。 作为基于r p c 的通讯方式,即使最简单的事务在c l i e n t 和$ e r v e r 之问需要一 些必要的数据流如果是安全模式的r p c 那么一个复杂的事务可能需要成千上 万的数据流。而这个可以通过一个移动a g e n t 来做相应的工作,从而降低了带宽 阻塞,尤其在低带宽的环境下。 _ i o k 、 ; 江苏大学硕士学位论文 2 2 移动a g e n t 技术及其优点和局限性 2 2 1 移动a g e n t a g e n t 理论 在展开a g e n t 技术的研究之前。首先定义什么是a g e n t ,目前有关a g e n t 的定 义很多,也不尽一致在著名的文章“i t a n a g e n t , o r j u s t a p r o g r a m ? a t a x o n o m y f o r a u t o n o m o u s a g e n t s ,【2 9 】一文中,s t a n f r a n k l i n 和a r t g r a e s s e r 对a g e n t 进行了定义: a g e n t 是一个系统内置于环境中或是环境的一部分,并感知和自动响应所处环境, 执行它自身的任务,从而在以后影响它所感知的环境。 此外,他们还列出了a g e n t 应具有的属性,这些属性也可以作为分类的依据。 响应性( r e a c t i v i t y ) a g e n t 必须对来自环境的影响和信息做出适当的响应其行为 通过触发规则或执行定义好的计划来更新a g e n t 的事实库,并发送消息给环境中 的其他a g e n t 自主性( a u t o n o m y ) :一个a g e n t 能在没有与环境的相互作用或来自环境的命令的 情况下自主执行任务这是a g e n t 区别于普通软件程序的基本属性,也是a g e n t 最重要的特性之一,而且任何其他程序单元无法访闯其操作,具有更好的封装性, 因而也具有更高的安全性 主动性( p r o a c t i v i t y ) :a g e n t 不仅对环境变化做出反应,而且在特定情况下采取主 动行为,这种自身采取主动的能力需要a g e n t 有严格定义的目标。 时间连续性( t e m p o r a lc o n t i n u i t y ) :传统的程序由用户在需要时激活,不需要时在 运算结束后终止。a g e n t 与之不同,它可以至少在“相当长”的时间内连续运行。 社会性( s o c i a la b i l i t y ) :可以应用a g e n t 通讯语言a c l ( a g e n tc o m m u n i c a t i o n l a n g u a g e ) 与其他的a g e n t 进行交互 适应性( a d a p t i v e l y ) :a g e n t 应该能够根据自身的经验进行自我调整,以适应新的 环境。 可移动性( m o b i l i t y ) :a g e n t 具有在计算机网络中进行移动的能力。 伸缩性m e x i b i l i t y ) :a g e n t 的行动不是编写好的。 个性( c h a r a c t e r ) :a g e n t 可信的个性和情感状态 按照他们的观点,前四种属性是a g e n t 的基本属性,而后面的几种可以作为 a g e n t 分类的依据 。 目前正在研究的a g e n t 主要集中在以下七类:移动a g e n t 、协同a g e n t 、智能 江苏大学硕士学位论文 a g e n t 、界面a g e n t 、信息a g e n t ,响应a g e n t 和混合a g e n t a g e n t 的标准化 由于软件a g e n t 还是一个处于不断研究更新的技术,因此目前已经实现的 a g e n t 系统的框架和实现差别都很大这些差异妨碍了各类系统之间的互操作和 a g e n t 技术的发展,为此强烈需要为软件a g e n t 制定一个通用的互操作基准目前 有两个组织在负责a g e n t 技术的标准化:f i p a ( f o u n d a t i o nf o ri n t e l l i g e n tp h y s i c a l a g t s ) 制定的1 9 9 7 、1 9 9 8 和1 9 9 9s p e c i f i c a t i o n s ,o m g ( o b j e c tm a n a g e m e n tg r o u p ) 的m o b i l ea g e n ts y s t e mi n t e r o p c m b l i t yf a c i l i t y ( m a s i f ) 其中,f i p a p o j 主要进行智能a g e n t 基本能力的标准化工作,它从不同方面规 定或建议了a g e n t 在体系结构、通信、移动,知识表达、管理和安全等方面的内 容,对于a g e n t 技术起到很大的推动,其中a g e n t 管理、a c l 、a g e n t 安全管理和 a g e n t 移动管理与移动a g e n t 技术关系较紧密 o m g 3 1 1 的m a s i f ( m o b i l ea g e n ts y s t e mi n t e r o p e r a b i l i t yf a c i l i t y ) 规范则负责定 义异质移动a g e n t 平台间的互操作性。它规定了通用概念模型,基本涵盖了现有 移动a g e n t 系统的所有主要抽象。定义了固定a g e n t 、移动a g e m ,a g e n t 状态、 a g e n t 授权者、a g e n t 名字,a g e n t 系统、位置、域、代码库和通信基础等一系列 概念。m a s i f 最大的贡献是定义了两个标准构架:m a f f i n d e r 和m a f a g e m s y s t e m , 通过接口定义语言( i d l ) 对它们的属性、操作和返回值进行了明确的规定 虽然这两个标准有不小的差异,但是人们正在研究它们的互通甚至综合,可 望在若干年之后形成一个统一的标准。 2 2 2 移动a g e n t 技术分析 移动a g e n t 的移动性 移动a g e n t 框架的一个关键特性就是能够在主机之间迁移。它使得a g e n t 能够 靠近它执行任务所要的信息源,从而减少了由于信息检索带来的反复网络穿梭。 移动可以分为强移动和弱移动 强移动性和弱移动性 3 4 1 目前的移动a g e n t 系统采用两种形式的移动:强移动和弱移动两者的区别 在于执行能够被迁移的a g e n t 要素强移动性是指e u ( e x e c u t i o nu n i t ) 的程序代 码和执行状态均能转移到另一个c e ( c o m p u t a t i o n a le n v i r o n m e n t ) ,而弱移动性的。 m o b i l ec o d e 系统中只有程序代码可以在不同的c e 间转移 强移动性是由移动( m i g m t i o n ) 和远程复带i ( r e m o t ec l o n i n g ) 两种机制所构成的 江苏失学硕士学位论文 移动机制是先暂停一个e u 的执行,然后将该e u 移动到另一个c e ,然后再唤醒 它来继续执行移动机制既可以预先式也可以响应式在预先式迁移中,迁移的 目的和时间由移动a g e n t 自动决定,而在响应式中,迁移决定是由与要迁移的a g e n t 相关的其他a g e n t 触发的远程复制机制指在远程的c e 复制一份要执行的e u ( 或 为e x e c u t i v e a g e n t ) ,而原来的e u 并不会被影响到强移动性有两个缺点:一是与 操作系统有关,这些机制都要求a g e n t 执行的操作系统都有同质性:二是与语言 有关,这些机制常常基于特有的语言实现。 在弱移动性的系统中,程序代码必须能在c e 间互相转移,可被另一个执行中 的e u 远程使用或可用来在远程产生新的e u 要进行转移的程序代码可分成独立 的程序( s t a n d a l o n e ) 或程序片段( c o d ef r a g m e n 0 ,前者可以用来产生新的e u ,后者 可连结到一个现存的e u 来执行弱移动性系统中的程序移转机制可以是同步,也 可以是不同步。在同步系统中,e u 需暂停手边的工作,而立刻执行被移转过来的 程序代码,而在异步系统中,转移过来的程序代码可以立刻执行或是延迟至需要 时才执行。弱移动性具有平台独立性的优点虽然我们发现强移动更可取,但是 目前基于j a v a 的移动a g e n t 系统仅仅支持弱移动性,因为我们不可能为了在j a v a 中实现强移动性而去修改m 。 j a v a 中实现代码移动的方法 为了说明移动a g e n t 系统的内部原理,本文介绍j a v a 支持移动的两种重要机 制:对象串行化和类下载1 3 ,】。 对象串行化 串行化是j a v a 达到对象持久性的一种方法。它意味着对象的生命周期超过了 程序的执行时间任何对象只要继承了s e r i a l i z a b l e 接口就能被串行化,变成连续 的字节。一个被串行化的对象可以被写入磁盘或传到网络上,随后可以在各种不 同操作系统中被重新还原为先前的对象开发对象串行化的目的是为了支持j a v a 的两个主要特性;r e m o t em e t h o di n v o c a t i o n ( r m l ) 和j a v a b e a n r m i 是j a v a 版的r p c j a v a 的远程方法调用能让你像调用自己机器上的对象 那样去调用其它机器上的对象。当你向远程对象传递消息的时候,就需通过对象 序列化来传送参数和返回值了 对j a v a b e a n 来说,对象序列化也是必不可少的b e a n 的状态信息通常是在设 计时配置的。这些状态信息必须保存起来,供程序启动的时候用;对象序列化就 负责这个工作 1 3 江苏大学硕士学位论文 序列化一个对象还是比较简单的,只要让它实现s e r i a l i z a b l e 接口就行了( 这是 一个“标记接n ( t a g g i n gi n t e r f a c e ) ”,没有任何方法) 。但是,当语言引入序列化概 念之后,它的很多标准类库的类,包括p r i m i t i v e 的w r a p p e r 类,所有的容器类、 以及别的很多类都会相应地发生改变,甚至连c l a s s 对象都会被序列化 要想序列化对象,你必须先创建一个o u t p u t s t r e a m 。然后把它嵌进 o b j e e t o u t p u t s t r e a m 这时,你就能用w r i t e o b j e c t ( ) 方法把对象写入o u t p u t s t r e a m 了读的时候,你得把i n p u t s t r e a m 嵌到o b j e c t l n p u t s t r e a m 里面,然后再调用 r e a d o b j e c t ( ) 方法不过这样读出来的,只是一个o b j e c t 的r e f e r e n c e ,因此在用之 前,还得先传送。 对象序列化最聪明的一点是,它不仅能保存对象的副本。而且还会跟着对象 里面的r e f e r e n c e ,把它所引用的对象也保存起来,然后再继续跟踪那些对象的 r e f e r e n c e ,以此类推这种情形常被称为“单个对象所联结的对象网”这个机 制所涵盖的范围不仅包括对象的成员数据,而且还包含数组里面的r e f e r e n c e 。如 果你要自己实现对象序列化的话,那么编写跟踪这些链接的程序将会是一件非常 痛苦的任务但是,j a v a 的对象序列化就能精确无误地做到这一点,毫无疑问, 它的遍历算法是做过优化的 类装载( c l a s s1 0 a d i n 曲 j a v a 是通过类装载机制实现代码和状态迁移。类装载机制是一种迁移协议, 该协议用于从其他的远程主机上得到和运送一段代码。类装载器是负责将给定的 类转换成实现这些类的字节的对象,在类装入到j v m 中起到主要作用类装载器 需要认识文件和文件系统,而j a v ar u n t i m e 却不需要。当类被正在运行的对象所 引用时,将通过类装载器装入j a v ar u n t i m e 一旦第一个类丌始运行,调用余下的 类就由类装载器完成。j v m 本身附有类装载器,称为原始类装载器。j a v a 也提供 个性化的非原始的类装载器( 见表) 表2 1非原始的类装载器 非原始类装载器意义 这些类装载器根据u r l s ( u n i v e r s a lr e s o u r c el o c a l o h ) 指向j a v a 的 u r l 类装载器 j a r 文件或目录来下载类和资源 r m i 类袈载器这些类装载器提供静态的方法从一个网络地址上下载类 m 允许用户定义的类装载器代替原始类装载器。每个不同的装载器都生成 不同的类空间;用户可以使用任意数量的类名空间。j a v a 本身也提供一些有用个 性化的非原始类装载器。 1 4 江苏大学硕士学位论文 用j a v a i 1 建立个性化的类装载器,类装载器首先继承了它的父类 j a v a 1 a n g c l a s s l o a d e r 这里只有一个抽象方法l o a d c l 髂s o 需要实现,方程细节见图 2 5 图2 5 类装载的工作流程 j a v a 2 的类装载模型t 3 6 1 是一种代理模型埘当j v m 要求类装载器l l 装载一个 类时,l l 首先将这个类装载请求转发给他的父装载器只有当父装载器没有装载 并无法装载这个类时,l i 才获得装载这个类的机会。这样所有类装载器的代理关 系构成了一棵树树的根是类的根装载器( b o o t s t r a p c l a s s l o a d e r ) ,在j v m 中它以 “n u l l ”表示。除根装载器以外的类装载器有且仅有一个父装载器在创建一个装 载器时,如果没有显式地给出父装载器,那么j v m 将默认系统装载器为其父装载 器。j a v a 2 的基本的类装载器代理结构如图2 6 所示 1 , 江苏大学硕士学位论文 l 报撇。m 岫( b o o t s r a p 彳f l扩展共毂载嚣 彳p l i系统类装裁器 i 彳p ia p p l e t 一 图2 6j a v a2 类装载的代理结构 根( b o o t s t r a p ) 装载器:从s u n b o o t c l a s s p a t h 装载运行时类库的核心代码;是 m 的一部分,没有父装载器扩展( e x t e n s i o n ) 装载器:从j a v a e x t d i r s ( 扩展目录) 中装载代码;父装载器为根装载器;用纯j a v a 代码实现。系统( s y s t e mo ra p p l i c a t i o n ) 装载器:从j a v a c l a s s p a t h ( c l a s s p a t h 环境变量) 装载代码;父装载器为扩展装载 器:用纯j a v a 代码实现;是用户自定义类装载器的缺省父装载器。小应用程序 ( a p p l e t ) 装载器:从用户指定的网络上的特定目录装载小应用程序代码;父装载器 为系统装载器。 a g e n t 的命名 就像计算机在网络中需要有唯一的地址来表示一样,当a g e n t 在网络中穿梭 的时候,也需要一个唯一的命名以便能够被识别给a g e m 命名使得其他a g e n t s 能够与它通讯或者能够实时监控自己 为此,移动a g e n t 系统需要有一个专门机制便利名字解析,通过该机制能够通 过名字柬正确定位。目前有几种办法来提供该项服务: 没有命名规划 一些系统没有专门的命名服务,是通过使用者或编程员负责跟踪a g e n t 并指 出其所处的位置 基于代理的命名服务 该服务是每个a g e n t 保留一个代理在本地机上,这个代理能够感知移动代理的 最新的信息。在移动时a g e n t 同时更新它的本地代理,从而使得本地代理能够将 接收到的消息转给远端的a g e n t 。 1 6 江苏大学硕士学位论文 命名服务 命名服务能够一直负责跟踪a g e n t 当前的位置a g e n t 在每次移动的时候都汇 报自己的位置,从而使得客户端能够通过查询命名服务找到a g e n t 的位置客户 端使用的名字被称之为“与位置无关的名字”( 1 0 c a t i o n i n d e p e n d e n t n a m e ) 2 2 3 移动a g e n t 的优点 有效地节省网络带宽 在传统的c s 模式下,客户端的程序在本地执行,为了完成用户的操作,所 有的数据都要通过网络进行传输,如果用户的操作涉及到大量的数据,这会增加 网络的负载;而移动a g e n t 把代码迁移到它计算所需资源的主机运行时,它能方 便的存取它所需要的资源,避免了中间数据在网络上传输,只给用户返回最终的 执行结果,这样就大大减小了网络传输的负担 减少了任务完成时间,降低响应时间 相对于r p c 而言,移动a g e n t 在网络速度比较慢、中间结果比较多的场合中 能够更快地完成用户任务。因为相对于传统的r p c 方式,移动a g e n t 把操作移动 到数掘源,一般情况下操作代码的长度远小于操作数据的大小,因此移动代码相 对于移动数据来说花费更短的时间,因此减少了任务的完成时间同时用户可以 根据自己的需要生成不同的移动a g e n t ,并设置a g e n t 执行参数,最大程度地降低 了用户的负担,并减少了传统的c s 和b s 模式下客户端和服务器之间的响应时 h j ,在这方面己经有了比较深入的研究,具体可以参见文献 3 8 3 9 1 ,其中论述了 作者在一个叫做s u m a t r am o b i l e - a g e n t 系统上的验证和分析过程。 异步执行计算 在传统的分布式计算模型中,单个的异步操作可以通过消息传递实现,但整 个任务在收到前一个异步操作的结果之前是不能继续的。移动a g e n t 可以将一组 操作成批的发送至目的地,等整个任务完成后将最终结果返回,实现整个任务的 异步执行 离线操作和移动计算 能够实现离线操作也是移动a g e n t 的一大优点传统的r p c 方式要求在整个 任务的执行过程中必须保持网络连接,这对于现在日益增多的移动应用来说是很 难保证的,然而,移动a g e n t 能够保证在离线的情况下继续执行任务,这与移动 a g e n t 本身的运行机制密切相关在移动a g e n t 环境中,用户可以根据自己的需求 定制任务,为了完成任务,可能需要一个或者多个a g e n t 参与,用户一旦提交这 1 7 江苏大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绥化市青冈县人民政府办公室选调工作人员5人考前自测高频考点模拟试题(含答案详解)
- 2025甘肃天水市武山县人力资源和社会保障局招聘城镇公益性岗位人员26人考前自测高频考点模拟试题及答案详解(网校专用)
- 基因检测疫病识别-洞察与解读
- 2025河南郑州二七区一国企招聘各部门人员9人考前自测高频考点模拟试题及参考答案详解1套
- 2025湖南长沙高新区中心幼儿园和馨园招聘教师2人模拟试卷及答案详解一套
- 2025年泉州安溪城建集团有限公司招聘17人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025广东韶关市始兴县事业单位招聘暨“青年人才”和“急需紧缺人才”招聘89人模拟试卷含答案详解
- 2025广西百色市西林县社会保险事业管理中心招聘编外聘用人员6人考前自测高频考点模拟试题附答案详解(完整版)
- 2025甘肃嘉陵关市卫生健康委公开招聘公益性岗位人员考前自测高频考点模拟试题附答案详解
- 2025呼伦贝尔市政务服务与数据管理局所属事业单位竞争性比选工作人员考前自测高频考点模拟试题及答案详解(典优)
- 食品新产品开发 课件 第二章 食品新产品开发流程
- 高中化学374个必备知识点
- 单轴燃气蒸汽联合循环机组调试程序
- 舟山海域赤潮发生特点及成因分析
- 湿陷性黄土湿陷量计算表
- 丝杠安全操作保养规定
- 体育测量与评价PPT课件-第九章 运动员选材的测量与评价
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 大众蔚揽保养手册
- 急危重病人营养与代谢支持
评论
0/150
提交评论