(检测技术与自动化装置专业论文)基于屏幕共享技术可复用远程监控构件研究与应用.pdf_第1页
(检测技术与自动化装置专业论文)基于屏幕共享技术可复用远程监控构件研究与应用.pdf_第2页
(检测技术与自动化装置专业论文)基于屏幕共享技术可复用远程监控构件研究与应用.pdf_第3页
(检测技术与自动化装置专业论文)基于屏幕共享技术可复用远程监控构件研究与应用.pdf_第4页
(检测技术与自动化装置专业论文)基于屏幕共享技术可复用远程监控构件研究与应用.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于屏幕共享技术可复用远程监控构件研究与应用.pdf.pdf 免费下载

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

文档简介

昆明理工大学硕士学位论文 摘要 随着远程监控技术的发展,已l 形成了一些行之有效的技术方案,如:基于 数据库+ w e b 、基于j a v a 技术、基于a c t i v e x + w e b 等解决方案。本文旨在从构件 复用的角度寻求一种新的远程监控解决方案。 本论文的研究方法及路线是:一、分析可复用技术及构件的特点,并探讨 将这种技术应用于远程监控的可行性;二、确定将屏幕共享技术作为开发构件的 核心:三、开发可复用构件:四、应用平台开发。 论文研究的重点为可复用构件,并采用该构件成功开发了“分布式远程监 控系统”和“多媒体网络教室”两个应用平台。两个应用平台的成功运行证明了 该解决方案切实可行。 本论文主要取得了如下研究成果: 一、成功开发出可复用远程监控构件。本构件的核心为符合r f b 协议的屏 幕共享技术,并修改了主要算法,使之在运行单一服务器的情况下可以实现n : 1 的远程监控。 二、成功实现构件在实验室环境下的监控复用,分别开发出基于b s 和c s 模式的分布式远程监控系统。 三、成功实现将远程监控构件应用于网络教学系统中,开发出易教多媒体 网络教室平台。本系统通过u d p 等网络协议操纵构件的网络接口。以简单的复 用方式开发出满足正常教学功能的网络教室平台。此平台系统占用资源少,实时 性好,运行稳定,可以直接投入实际应用。 总之,本文的研究不仅为工业过程的远程监控提供了一种全新的思路,并 开发出可实际应用的远程监控构件。本文改进的r f b 协议算法改变了传统屏幕 监控的1 :1 的“有连接模式”,可以实现n :1 的远程监控。其研究方法具有一 定的创新性、实用性和应用参考价值。 关键词:可复用技术,远程监控构件,屏幕共享技术,r f 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 fr e m o t em o n i t o ra n d c o n t r o l ,m a n y e f f e c t i v e t e c h n o l o g ym e t h o d s w e r ee s t a b l i s h e d f o re x a m p l e :t h em e t h q db a s e do nd a t a b a s e 手肫6 ,t h em e t h o db a s e do n 埘蹦、a n dt h em e t h o db a s e do nd a t a b a s e + a c t i v e x + w e be t c t h i st h e s i si sa i m e da ts e e k i n gan e wm e t h o df r o mt h ec o m p o n e n tr e u s e r e s e a r c hm e t h o d s a p p l i e di nt h et h e s i sa r ea sf o l l o w s : f i r s t :a n a l y z et h et e c h n o l o g ya b o u tr e u s ea n dc h a r a c t e r i s t i co fc o m p o n e n t a n d t od i s c u s st h e f e a s i b i l i t y t h a tt h e t e c h n o l o g ya p p l i c a t i o n i nr e m o t em o n i t o ra n d c o n t r 0 1 s e c o n d :m a k es c r e e ns h a r i n gt e c h n o l o g ya st h ec o r e ;t h i r d :d e v e l o pt h e c o m p o n e n tb a s e do ns c r e e ns h a r i n gt e c h n o l o g y ;f o r t h :d e v e l o p m e n to fa p p l i c a t i o n p l a t f o r m t h e e m p h a s i s o ft h i st h e s i si st h er e u s e c o m p o n e n t ,t w op l a t f o r m o f d i s t r i b u t i n gr e m o t em o n i t o ra n dc o n t r o ls y s t e ma n dm u l t i m e d i an e t w o r kc l a s s r o o m s y s t e ma r ed e v e l o p e ds u c c e s s f u l l y t h a ta p p l i c a t i o np l a t f o r m ss u c c e s s f u l l yr u n n i n g p r o v e d t h em e t h o di sf e a s i b l e t h r e em a i nr e s e a r c hr e s u l t so ft h et h e s i sa r ea sf o l l o w s ( 1 ) d e v e l o p e dt h er e m o t em o n i t o ra n dc o n t r o lc o m p o n e n t t h ec o r eo ft h i s c o m p o n e n t i ss c r e e n s h a r i n g t e c h n o l o g y t h a ta c c o r dw i t hr f b p r o t o c 0 1 a n d r e a l i z e d t h en :1r e m o t em o n i t o ra n dc o n t r o lw h e n s i n g l es e r v e ri sr u n n i n g ( 2 ) d e v e l o p e d t h ed i s t r i b u t i n gr e m o t em o n i t o ra n dc o n t r o ls y s t e mb a s e do nb s a n dc sp a t t e r n ( 3 ) d e v e l o p e dt h em u l t i m e d i an e t w o r kc l a s s r o o ms y s t e m t h es y s t e mo p e r a t e s t h en e t w o r ki n t e r f a c eu s i n gu d p p r o t o c o la n di so fg r e a tt h e o r e t i c a la n dp r a c t i c a l s i g n i f i c a n c e i ng e n e r a l ,t h er e s e a r c ho ft h i st h e s i sp r o v i d e san e wi d e ai nt h ei n d u s t r yr e m o t e m o n i t o ra n dc o n t r o ls y s t e ma n dd e v e l o p sap r a c t i c a l l yr e u s ec o m p o n e n t w ec h a n g et h e 1 :1 r e m o t em o n i t o ra n dc o n t r o lt on :1m o d e t h i sm e t h o dc a nb ec o n s u l t b yo t h e ra p p l i c a t i o n k e y w o r d :r e u s et e c h n o l o g y , r e m o t em o n i t o ra n d c o n t r o l c o m p o n e n t ,r f b , a p p l i c a t i o np l a t f o r m i l 昆明理工大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行 研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做 出重要贡献的个人和集体,均已在论文中作了明确的说明并表示了谢 意。本声明的法律结果由本人承担。 学位论文作者签名:曩溜 日 期:2 阳尹年;月f 厶日 关于论文使用授权的说明 本人完全了解昆明理工大学有关保留、使用学位论文的规定,即: 学校有权保留、送交论文的复印件,允许论文被查阅,学校可以公布 论文的全部或部分内容,可以采用影印或其他复制手段保存论文。 ( 保密论文在解密后应遵守) 导师签名:遁塑煎论文作者签名:煎 日 期:竺! 生兰月丝旦 昆明理工大学硕士学位论文 第一章绪论 远程监控是指利用计算机通过网络系统实现对远程工业生产过程控制系统 的监视和控制。能够实现远程监控的计算机软硬件系统成为远程监控系统。对于 远程监控的研究是近年来的热门话题,它构建于传统的工业监控系统之上,舀的 在于将传统意义的生产监控与最新的网络技术相结合,和最新的管理技术相结 合,以最高效、最节省的方式,实现企业内部数据的利用最大化和即时决策。 由于远程监控的对象是现场的控制系统,每一步操作都影响到实际的生产过 程,这就要求整个远程监控应该完备地考虑一下几点: 1 ) 实时性,即必须在限定的时间内正确地完成数据的传输、处理。控制系 统的大部分是实时系统,对实时性的要求尤为重要。 2 ) 可靠性和容错性,即要求在系统出现故障的情况下,能够自动地或半自 动地( 需要人工于预) 采取相应的措旌,保证系统恢复正常运作。 3 ) 安全性,远程监控通常需要通过i n t e r n e t 这个大型的公共网络传输数据 包,数据包在传输过程中可能会被窃听,篡改或受攻击,因而安全问题 也不容忽视。 随着远程监控技术的发展,已形成了一些行之有效的技术方案,如:基于数 据库+ w e b 、基于j a v a 技术、基于数据库+ a c t i v e x + w e b 等解决方案。但各解决 方案的侧重点不同:数据库+ w e b 的解决方案旨在将工业现场采集来的数据导入 关系数据库,然后以w e b 的方式实现远程监视。其重点在于对监视数据的二次 处理,如查询、修改、更新、图表显示等。但该方案受限于数据库的响应速度, 对工业过程的实时控制则无能为力;基于j a v a 技术的解决方案重点在于解决图 像传输的速度和可靠性以及客户端的跨平台,同样无法完成实时的控制任务;数 据库+ a c t i v e x + w e b 应该说是一套眈较完善的解决方案,它将数据库技术,数据 交换技术,w e b 技术融为一体,既兼顾了对数据库数据的二次处理,又通过 a c t i v e x 实现了一定程度上的实时控制,但其本质却是采用数据交换技术,使 a c t i v e x 与数据库进行交互,然后再通过数据库将控制数据写入控制服务程序, 最后由控制服务程序完成实时控制。从此可以看出,这样的监控过程过于复杂, 很难保证远程监控的实时性。 基于屏幕共享技术可复用远程监控构件研究与应用 另一方面,随着计算机软件技术的发展,可复用软件开发模式已经成为当 前软件开发的首选模式。软件复用的概念很简单:开发适当大小的软件构件,并 复用它们。通过复用已有的软件构件,使用构件对象模型的软件开发者可以像搭 积木一样快速的构造应用系统。这样不仅可以节省使劲和经费,提高工作效率, 而且可以产生更加规范、可靠的应用软件。 目前,软件复用技术在通用软件开发中已经获得广泛应用,而在控制领域, 仍然是一个比较新颖的课题,本文通过对远程监控系统的需求分析,提出将软件 复用的思想贯穿其中,利用构件技术实现可搭建的远程监控系统。另外,为了解 决控制的实时性问题,本文的思路是减少远程控制的中间环节,利用构件之间通 信的高效实时性,直接实现控制端与控制服务程序的交互。 综上所述,本文主要有技术背景、构件开发以及应用平台开发三部分组成。 下面将对开发过程中涉及的各个方面进行详细阐述。 2 昆明理工大学硕士学位论文 第二章可复用技术 人类解决各种问题时早就采用了复用的概念。当解决某一问题时,一般总会 试图把某问题的解法用以解决相似的新问题。如果发现解新问题时只用到解法中 的一些基本的东西,那么就要改造它,使之适合解决新问题。若这些解法不断地 反复用于解决同类的问题,那些经过证明的解法就会被人们接受、推广和标准化。 2 1 复用的概念2 1 h 3 5 1 软件复用,广义上说,就是运用现存系统的人工制品或工程知识构造新的系 统。简单的说,就是在构造新软件系统的过程中使用现存的软件制品。软件复用 是指在开发新的软件系统时,对已有软件的重新使用,该软件可以是已存在的软 件,也可以是专门设计的可复用构件。能够被复用的制品种类不限于源代码段, 还可以包括设计结构、模块级实现结构、规格说明、文档、变换等。 软件复用包括开发可复用软件构件和基于可复用构件的开发两个生命周期。 直观来讲,软件产品复用能够节约成本和时间,因为不必从头开始建造被复用构 件。而且,如果复用优质构件,那么,整个产品的质量就可以提高。通过软件过 程复用,软件生产率可提高到被复用过程自动化的程度,质量可提高到改进质量 过程系统化的程度。现有经验表明:复用率确实可以达到较高的程度,它的确能 够提高生产率和质量。然而,成功的复用并没有系统化,要在组织内付诸“直觉 化”复用实践,并着手解决无数使复用困难的技术难题,还有大量的工作要做。 下面是软件复用标准中使用的若干术语定义: 夺复用( r e u s e ) 一在个新的c o n t e x t 中( 同一系统的其他地方或另一 个系统中) 使用已有的软件构件。 夺可复用性( r e u s a b i l i t y ) 一一软件构件可以被复用的程度或范围。遵循一 个适当的设计和编码标准将增强构件的可复用性。 夺可复用软件构件( r s c ) 一一可以被复用的软件实体;它可以是设计、 代码或软件开发过程的其他产品。r s c s 有时称为“软件资本”( s o f t w a r e a s s e t s ) 。 基于屏幕共享技术可复用远程监控构件研究与应用 夺构件库( l i b r a r y ) 一一可复用软件构件的集合,包括向用户提供构件时 所需的过程和功能。 夺软件生命周期( s o f t w a r el i f ec y c l e ) 一一软件系统在开发和配黄时所经 历的一系列阶段。通常包括:需求分析、设计、编码、测试和维护。 软件复用可以提高生产率并减少开发代价,还可以提高软件系统的质量, 具体来讲,可归纳为下列五个方面: ( 1 ) 提高生产率。软件复用最明显的好处在于提高生产率,从而减少开发 代价。生产率的提高不仅体现在代码开发阶段,在分析、设计及测试阶段同样可 以利用复用来节省开销。用可复用的构件构造系统还可以提高系统的性能和可靠 性,因为可复用构件经过了高度优化,并且在实践中经过检验。 ( 2 ) 减少维护代价。这是软件复用的另一个重要的优越性。由于使用经过 检验的构件,减少了可能的错误,同时软件中需要维护的部分也减少了。例如, 耍对多个具有g u i 的系统进行维护时,对界面的修改只需要一次,而不是在每 个系统上分别进行修改。 ( 3 ) 提高互操作性。软件复用更为专业化的好处在于提高了系统间的互操 作性。通过使用接口的同一个实现,系统将更为有效地实现与其他系统之间的互 操作。例如,若干个通讯系统都采用同一个软件包来实现t c p i p 协议,那么他 们之间的交互将更为方便。 ( 4 ) 支持快速原型。复用的另一个好处在于对快速原型的支持。即可以快 速构造出系统可操作的模型,以获得用户对系统功能的反馈。利用可复用构件可 以快速有效地构造出应用程序的原型。 ( 5 ) 减少培训开销。复用的最后一个好处在于减少培训开销,即雇员在熟 悉新任务时所需的非正式的开销。如同硬件工程师使用相同的集成电路块设计不 同类型的系统,软件工程师也将使用一个可复用构件库,其中的构件都是他们所 熟悉和精通的。 2 2 可复用构件概念拍1 软件复用的概念很简单:开发适当大小的软件构件,并复用它们。作为构件 系统思想的扩展,构件不仅是代码,而且需求、分析模型、设计、测试都可以开 发称为构件。通常来说,采用可复用的构件开发系统,产品上市时间会缩短2 5 倍,缺陷程度会减少5 一l o 倍,维护费用会减少5 一l o 倍,总开发费用( 包括复用 4 昆明理工大学硕士学位论文 件开发) 减少1 5 ,某些长项目可减少7 5 。 构件的标准定义如下,包括广义定义和狭义定义: 广义定义:构件是计算机软件构件的简称,是在软件生命周期各阶段可以被 复用的软件实体,它可以是设计、代码和软件开发过程的其他产品。如可组装的 软件、程序模板、程序的源代码或目标模块和软件需求说明、规格说明、程序说 明、数据说明、测试说明和测试案例等软件成分。 狭义定义:软件构件是具有公开接口和确定意义的可被组装的软件制品。它 可以不加修饰或者基本不加修改地作为一个部件和其他构件一起组装成更大的 软件或软件成分。 构件技术改变了传统的开发习惯。新的开发工具把大粒度对象作为构件,如 m i c r o s o f t 的v i s u a lb a s i c 、a c t i v e x 和o l e ( o c x ) 、s u n 的j a v a 、o m g 的c o r b a 界面定义语言( i d l ) ,i n t e r n e t 计算用a p p l e t 和描述语言v b s c r i p t 和j a v a s c r i p t , 以及c o r b a 的c o m p o n e n to b j e c tm o d e l s 和d i s t r i b u t e dc o m p u t i n gi n f r a s t r u c t u r e , m i c r o s o f t 的c o m d c o m 等。 软件构件有两个特征: ( 1 ) 有用性,指构件完成的功能是有用的,也就是其功能可出现在很多应 用软件中 ( 2 ) 易用性,指构件要有很好的包装,能很方便地使用它。一般来讲,构 件的包装要符合一定的标准。 为了更好地了解构件的性质,我们把它按多个侧面进行分类: ( i ) 按开发过程构件分为分析件、设计件、程序件和数据件。 ( 2 ) 按功能分,分为三层:基础层为基本数据类构件和系统支撑构件;中 间层为各种通用的中间件,顶层为针对领域的专用构件或子系统构件, 从粒度上看,通常底层的粒度为较小,丽顶层的粒度为较大。 ( 3 ) 按构件的结构分为原子构件及由多个构聚集的组合构件。 软件构件是软件复用的基本单元。软件构件技术使得软件人员在应用开发时 可以使用其他人的劳动成果,为软件产业进行大规模专业化分工与合作形成了前 提。 2 3 软件复用对开发方法的影响皿3 软件开发可以看作是一种解决问题的行为,这个行为就是找到一种软件实现 5 , 基于屏幕共享技术可复用远程监控构件研究与应用 柬满足用户的一系列需求。传统的开发方法是分析法,如果分析不成功,则马上 回到解决问题的常用途径:分解问题,逐一解决和不断改进。由于传统的软件开 发方法没有考虑复用问题,因而所开发软件系统很难用于软件复用。 基于复用的软件开发,在制作软件的过程中使用从前的可复用软件制品,包 括两方面的含义:一是利用可复用的软件构件开发新的目标软件系统:二是在目 标系统分析、设计过程中,构造新的可复用的构件,供现行或未来软件开发适用。 在开发过程中,对复用的支持包括: ( 1 ) 确定复用任务和完成这些任务所需的技术; ( 2 ) 为复用提供方法和工具的支持: ( 3 ) 将复用工作结合到一般的开发工作中去; 复用的具体任务主要依赖于:沿“积木块一一程序”这个序列变化的软件 方法,为了系统的每一部分的可复用性,开发者必须做到: ( 1 ) 以支持可复用构件检索的方法系统阐述这一部分的需求: ( 2 ) 理解被检索的构件; ( 3 ) 如果检索到的构件基本满足当前的需求并且具备足够好的质量,就直 接采用它或稍作修改后采用它。 ( 4 ) 如果找不到完全符合或者基本符合要求的构件,开发者就只有采用一 般的分析方法,将系统分化为许多小的部分,对每一部分在按照上述 三个步骤重复进行。 2 4 软件构件库 简单来说,构件库是一个对软件构件统一进行形式化包装、分类描述、存 储管理、检索浏览的场所。 软件构件库是大范围内、系统化实施软件复用的必备基础设施。要复用软 件构件有两个前提条件,一是所需的构件已经存在,二是复用者能方便地找到所 需的构件。由于软件构件蕴涵了大量的信息,对其准确、简洁的描述及其困难, 如果没有一个统一的场所对其进行统一的描述包装,大多数企业在应用开发时将 难以找到所需构件,不得不“从零开始”,而构件的一次性开发成本比一般软件 高( 一般为2 到3 倍) ,因此大多数“从零开始”的开发结果又没形成构件,如 此循环,将难以形成系统化的软件复用。 使用软件构件是缩短软件的交付时间和提高软件质量的一条途径,随着复 6 昆明理工大学硕士学位论文 用实践的深入,组织内部将会积累大量自主开发的构件、购买的商业c o t s ( c o m m e r c i a l l y o f f - t h e s h e l f ) 构件和其他组织开发的n d i ( n o n d e v e l o p m e n t a l i t e m ) 构件。这些克服用构件构成了庞大的企业资产,而构件库作为分类和管理 构件资产的基础设施就变得十分重要。实践中构件数量不断增长,构件也随技术 和领域演化而更新,要在库中众多的构件中寻找必须借助于自动检索工具的支 持,另一方面,对单个构件的复用可以划分为构件的识别和检索、构件理解和适 应性修改三部分,因此对于构件的有效管理可以大大的降低复用成本。 7 昆明理工大学硕士学位论文 3 1 分布式系统7 3 第三章分布式系统 企业级应用体系结构的核心是一个分布式、规模可变的应用系统。分布式应 用系统通常划分为三层,即:表现层、业务层、数据层。如图3 1 所示。表现层 用于和用户交互,提供用户界面及操作导航服务:业务层用于业务处理,提供商 业逻辑等各种约束:数据层用于数据的集成存储。 3 1 1 表现层 图3 1 分布式系统三层结构 表现层是应用程序与人进行交互的层次。这一层是必要的,因为人们不能有 效地利用硬盘上的数码形式的信息,而这一层上的数据是我们可以理解的。现在, 人们可以通过键盘,显示器和鼠标来进行人机交互。 1 基于网页的解决方案 基于网页的客户机连接到网络上,并下载它所需要的内容。他不会下载整个 应用程序,而是应用程序的网页,其典型应用是w e b 浏览器,一般情况下, 基于网页的解决方案非常适合用于基于w e b 浏览器的企业内部网和互联网的应 用程序,他易于维护,使用方便,跨系统、跨平台等诸多优势已经越来越受到人 们的追捧,成为一种很有竞争力的方案。 9 基于屏幕共享技术可复用远程监控构件研究与应用 2 基于网络的e x e 解决方案 e x e 的解决方案需要用到客户端的一些功能,他依赖于客户机的操作系统。 这些应用系统是可执行的,可以安装在客户机上。 依赖于网络的应用程序混合了底层操作系统和网络。由于要处理的任务复 杂,这些应用程序需要操作系统提供的功能,这种情况下,w e b 浏览器提供的 内容有限,难以应付复杂的需求。不过,同基于w e b 浏览器的方案一样,基于 网络的e x e 解决方案也可以连接到i n t e r n e t 上,唯一的限制是客户端应用程序 必须运行在同一个操作系统平台上。 基于网络的e x e 解决方案在传统的局域网中比较常见,是种技术成熟、 可靠性好的解决方案。 3 1 2 业务层 业务层也叫做事物逻辑层或中间层,是应用程序的脉搏,它负责在分布式系 统的中间层处理数据。这一层主要用于大批量事务处理、事务支持、大型配鼠、 信息传送和网络通信。在分布式系统中,我们可以把复杂的业务关系细分为多项 功能单一的服务,每项服务都执行一项特殊任务,这些在技术上都是可以实现的, 如c o m d c o m ,c o r b a ,e j b 等。 业务层是很重要的,它包含了目前提供特殊服务的数目最大的组件对象。这 种灵活性是大型的企业应用程序所需要的,它可以根据表现层的用户请求,从数 据层获取、处理并返回数据,以响应用户需求。 3 1 3 数据层 数据层实际上就是资源管理层。与业务层相比,没有或较少有数据的处理 而是定义了大量数据的管理任务。通常,数据层使用大型的r d b m s 来管理,如 o r a c l e 。r d b m s 处理数据除了完成数据库本身的插入新数据、修改数据、执行 系统函数等s q l 操作外,还可以通过存储过程和触发器来自动地在数据库上存 储应用程序的商务逻辑和函数模块。这样在数据层亦可对数据做出相关的功能强 大的处理,而不是仅仅把请求结果返回给客户机。 l o 昆明理工大学硕士学位论文 3 1 4 分布式结构的优势 上述讨论的三层框架并不是指任何实际的物理结构,这是一种模型框架,是 考虑应用程序服务的一种方式,它具有以下几个优点: 夺将复杂的业务逻辑封装起来。 夺独立于程序设计语言。 夺可重用组件。 夺减少项目风险。 实际上,在一个组件中实现一个服务使得业务需求改变时的维护得到简化。 我们可以将代码的改变限制在一个单独的组件中,这样只要某个服务的最初接口 不改变,我们就可以添加新功能或改变现有功能的实现而不打乱其他组件。 基于组件的概念而开发的组件可以提高组件的可重用性,大量的研究表明 当应用程序的大小增加时,程序的复杂性会呈指数形式增长。通过细化目标对象, 减小每个组件的复杂性,即可获得更有效的质量保证,减少项目风险。 这种分布式的、规模可变的应用体系结构随着计算机技术的不断发展,特 别是网络应用技术的发展逐渐成为当前系统开发的热1 7 话题。 3 2c s 与b s 模式的结合策略 就传统的c s 结构而言,由于数据的存取和处理主要依赖于客户端程序, 本地化的程序配制复杂( 如必须配制本地o d b c 或固定服务器机器名等) ,逐台 配置机器对于一个拥有多用户的复杂系统而言,工作量较大,维护成本高:而应 用程序由于需要经常更新,因此逐台更新的问题比较复杂:另一方面,c s 结构 对网络底层协议的依赖性大,由于部份程序不是建立在t c p i p 协议之上的,因 此对防火墙、网段等问题的解决并不方便对跨平台( 如u n i x w i n d o w s ) 的支持 也稍显不足:另外,目前的应用系统建设一般都超出了局域网范畴,传统c s 结构对实现内网外网、局域网广域网间的有机整合也有局限。 相对来说,b s 结构对用户的技术要求比较低,对前端机的配置要求也较低, 而且界面丰富、客户端维护量小、程序分发简单、更新维护方便。它容易进行跨 平台布置,容易在局域网与广域网之间进行协调,尤其适宜信息发布类应用。但 是,b s 结构在客户端对大容量数据进行深层次分析、汇总、批量输入输出、批 基于屏幕共享技术可复用远程监控构件研究与应用 量更改的工作中出现困难,尤其更难实现图形图像等复杂应用,对于需要与本地 资源( 如调用本地磁盘文件或其他应用程序,如扫描驱动、o c r 识别、图型压 缩与解压缩和工作站本地密码机的调用等) 进行交互性的操作上极不方便,因而 难以适用于基于流程类的办公、办证、审核等系统。 随着i n t e r n e t 的广泛应用,原来基于局域网的企业开始采用i n t e r n e t 技术来 构建自己的企业网,因而b s 模式得到了飞速的发展,大有取代c s 模式的趋势, 然而从当前的技术水平看,特别是系统同用户交互量不大的应用,采用b s 模式 是一个比较好的选择,然而对于需要大量频繁、高速交互的应用系统,采用b s 模式并不一定是最好的选择。采用i n t e r n e t 应用模式并不一定要全部取代传统的 c l i e n t s e r v e r 结构,从某种意义特别是从近期的发展看,二者应用界限并不清晰, 雨且往往是互相补充、相辅相成的。事实上,企业m i s 采用b t s 模式并不是要 求把应用都转到w e bs e r v e r 上来,而是要根据情况来选择。那么,在应用中新 的b s 模式就需要能同传统的c s 模式结合起来。 b s 与c s 相结合吸收了b r o w s e r s e r v e r 模式和传统的c l i e n t s e r v e r 开发模 式的优点,即保留了b r o w s e r s e r v e r 模式分布性、开发维护简单性的特点,同时 融入了传统模式的特殊能力要求和个性化的设计要求,无疑是构建分布式系统的 理想选择。 昆明理工大学硕士学位论文 第四章基于屏幕共享技术的可复用远程监控构件开发 自动化技术的发展,使得生产过程的底层自动化监视和控制逐渐完善,在此 基础上集成的生产监控系统使用底层系统采集的信息,完成对生产状况的监视、 报警、预测、调度、决策、优化等。国内外已经有不少先进的监控平台,如f i x 、 i n t o u c h 等等,但这些平台依靠各自的底层控制和数据采集系统,随着企业综合 自动化要求的提高,基于控制网络的单纯的生产监控系统已无法满足企业的需 求,人们想到了利用网络技术以及w e b 技术去实现诸如远程控制、监视等方面 的应用。这方面的应用直接促使了屏幕共享技术的发展。 屏幕共享技术出现在图形化的用户界面( g u i ) 之后,屏幕共享的目的是在 远端客户机上重现主机屏幕的界面显示内容,或者以一种虚拟终端的概念出现, 使得远端的用户感觉如同坐在主机旁边一样。 4 1 常见屏幕共享实现方式呻1 常见的屏幕共享技术可以分为以下三类:利用操作系统底层的g u i 矢量指 令、利用屏幕复制和无失真压缩算法、利用屏幕复制和特殊有失真压缩算法。 4 1 1 利用操作系统底层的g u i 矢量指令 x w i n d o w s 是利用操作系统底层的g u i 矢量指令的典型代表。当用户登录到 主机上,将会启动本地的x w i n d o w ss e r v e r ,而主机上的用户进程则创建一个 x w i n d o w s 的c l i e n t ,随后,用户的- 操作通过这样的c s 结构传输给主机,操作 的结果生成一个图像的显示,然后x w i n d o w s 将显示拆分成原子的矢量绘图命令 传输给x w i n d o w ss e r v e r ,并在用户本地机器上f 确解码显示。 w i n d o w s 2 0 0 0 提供的远程终端服务采用了类似的原理。w i n d o w s 2 0 0 0 p r o f e s s i o n a l 使用终端服务客户端软件登录到w i n d o w s2 0 0 0s e v e r 的终端服务。 然后,s e r v e r 会给每个客户端开辟一个虚拟的桌面( d e s k t o p ) ,再将这个用户的 操作结果显示重新定向到他所在的d e s k t o p ,这些显示操作被分解成若干的 1 3 基于屏幕共享技术可复用远程监控构件研究与应用 w i n d o w s g d i 指令,最后传输到c l i e n t 解码。而在客户端的感觉就如同真正的操 作s e r v e r 一般。 4 1 2 利用屏幕复制和无失真压缩算法 p c a n y w h e r e 是一款利用屏幕复制和无失真压缩算法的远程控制软件,其屏 幕显示的内容不是通过拆解成具体的绘图命令来实现,而是通过屏幕复制和数据 压缩处理后,作为个图片传输到客户端。此算法的优点在于压缩率较高,一般 可达3 0 5 0 倍,在一般情况下可以得到很流畅的效果,而且对文字的恢复质量较 好。缺点在于对与图像部分的处理则显得力不从心。 4 1 3 利用屏幕复制和特殊有失真压缩算法 采用j p e g 标准进行压缩是我们常见的利用屏幕复制和特殊有失真压缩算 法,此类算法在处理大幅图片时,表现要远比无失真压缩算法优越,但因j p e g 标准应用于自然图像压缩,并不适合g u i 这样的简单图像。 4 1 4 屏幕共享技术的特点 ( 1 ) 成本低。由于屏幕共享技术是一个基于软件的技术,无需特殊的网络设 备,利用现有的多媒体教室、i n t e r n e t 网络就可以达到很好的监控效果, 其次,屏幕共享技术使得用户只需在被监控机上安装监控服务器,监控 机上只需按监控点进行相应配置即可,这样亦可节省大量的版权许可 费。 ( 2 ) 功能多,使用灵活。屏幕共享技术并不针对具体的软件或者多媒体节目 来设计,具有通用性。因此。在达到远程监控为目的的前提下,监控的 内容非常灵活,多种多样。利用屏幕共享技术还可以发展出操作录像功 能这本身也是一种新的监控形式。 ( 3 ) 易用性。客户端不仅可以通过完全复制被监控端的屏幕画面达到监视的 目的,亦可直接对被监控机进行远程控制。 昆明理工大学硕士学位论文 4 2r f b 协议分析 r f b ( r e m o t ef r a m eb u f f e r ) 提供了一种访问远程图形用户接口( g u i ) 的 简单方法。基于远程帧缓冲的概念,允许服务器更新客户端的帧缓冲,广泛应用 于w i n d o w s 系统中,包括x 1 1 ,w i n d o w 3 1 9 5 n t 和m a c i n t o s h 等。r f b 协议能 提供基于t c p i p 的跨平台计算机远程监控。从o s i 七层参考模型来看,r f b 协 议是一个应用在传输层上的网络协议,负责完成最高三层协议的任务,即会话层、 表示层和应用层。在r f b 协议中,将远程用户所使用的终端( 包括键盘和鼠标) 称之为r f b 客户,而将引起帧缓冲发生变化的终端称为r f b 服务器。图4 1 给 出r f b 协议的通信简图。 图4 1r f b 协议的通信简图 r f b 是一种真正的“瘦客户机”协议。r f b 协议在设计过程中尽可能的降 低了对客户机的要求,从这个角度来看,r f b 客户可以在大多数硬件平台上运 行,并且其实现相当方便。除此之外,在r f b 连接建立过程中,客户端用户可 以随意运行本机的应用程序而不会影响r f b 连接的状态,这一切种种,确保无 论使用者身在何处,都可以面对一个友好、统一的用户界面。 4 2 1 图像显示协议 r f b 协议包含若干子协议,显示协议是实现远程图形显示的重要子协议, 它是围绕一些基本的简单图形而设计的,“经指定的x , y 坐标绘制包含所有像素 数据的矩形”是对这一协议的形象描述。在对大量的g u i 进行处理时,这种方 法看起来好象是效率不高,但由于采用了许多种不同的像素编码算法,对于每一 个要传输的矩形,都可以选择一种最好的编码方式,使得我们在考虑诸如网络带 宽、客户机刷新速度和服务器处理速度等各种因素时具有很大的灵活度。 1 5 基于屏幕共享技术可复用远程监控构件研究与应用 这种连续绘制的一系列矩形即形成了所谓的帧缓冲刷新( 或者称之为简单刷 新) 。一次刷新代表帧缓冲从一种有效状态变换到另外一种有效状态。因此从某 种意义上,这种刷新类似于v i d e o 中“帧”的概念,差别在于每一次刷新只是引 起“帧”的某一部分发生变化,这种刷新完全是由客户机驱动的,也就是说,只 有客户机发出确定的刷新请求,服务器才会发送一次更新,这使得帧缓冲刷新可 以适用于各种不同的环境。例如在配置较低的客户机或者较恶劣的网络环境中, 帧刷新的速度要明显降低,当给定区域内的帧数据发生变化时,一些变化非常微 小的帧数据会被丢弃,用以降低客户机的负载及减少网络拥塞,从而提高传输的 速度以及响应的实时性。 4 2 2 输入协议及编码格式定义 输入协议是r f b 协议的另外一个比较重要的子协议。它对输入的处理只是 简单地将键盘、鼠标等输入设备产生的事件由客户机发送到服务器,这些输入事 件同样可以通过其他非标准i o 设备获取,如手写笔等。 在r f b 客户机和服务器的初始化过程中,需要协调像素数据的格式以及编 码方式,其基本原则是保证服务器有能力按照客户机所需的编码格式发送数据, 当客户机可以接受数种不同的格式和编码时,服务器可以选择最简单的方式进行 传送。 像素格式是指每个像素颜色值得表示方法,最普通的格式是2 4 位或1 6 位, 而编码方法是指一个矩形区域的像素数据如何在通信链路上压缩传输。每个数 据帧都需要附加一个报头,包括当前传送区域的坐标、高度、宽度以及所采用的 编码方式标识符等,后面紧跟着需要传送的像素数据。在数据帧组装完毕后,将 按照编码方式标识符指定的方式进行传输,整个帧结构如图4 2 所示。 、v 7 7 l 、r _ ,。、v ,- 自定义长度2 位2 4 位,1 6 位 图4 2r f b 协议数据帧格式 在r f b 协议中,r a w ,c o p yr e c t a n g l e 。r r e ( r i s e a n d - r u n 1 e n g t h ) ,c o r r e ( c o m p a c tr r e ) ,以及h e x t i l e 编码以其高效的压缩率而得到广泛的应用,而其 他编码方式如j p e g ,m p e g 在视频图像的编码传送中使用较多。基于r f b 协议 1 6 昆明理工大学硕士学位论文 的远程监控构件实现的关键即是如何将可复用以及构件的思想应用于这些算法 中,重构整个协议的算法结构,从而实现构件的可复用以及模式的可扩展,下文 将对我们构件实现中所采用的几种算法逐一进行阐述。 4 2 3r f b 协议的消息机制 协议定义的消息有两大类:初始化握手消息、客户机服务器通信消息。其中 初始化消息包括:协议版本、认证信息、客户机初始化和服务器初始化。客户机 到服务器的消息有:设置像素格式、选择色彩映射表、设嚣编码方法、帧缓冲刷 新请求、键盘鼠标事件等,服务器发送到客户机的消息有:帧缓冲刷新、设置彩 色映射表、报警等。在初始化消息之后,客户机和服务器之间即可互发任意消息, 所有消息都是由消息类型和消息数据组成,下面给出一些主要的消息格式。 ( 1 ) 开始初始化消息 初始化握手消息由服务器端向客户端发送协议版本开始,因为在客户端在进 行监控时,必须知道当前服务器支持的算法以及服务器的兼容性支持,收到服务 器发送的消息后,客户机会向服务器发送类似的消息己确认连接。协议版本由 1 2 个a s c l l 码字符组成,格式为图4 3 所示,其中x x x y y y 为协议的主版本号 和副版本号,不够三位的,前面加0 补为三位。 n o ,o f b y i 蚪lv a l u e j 2卜r f b0 0 3 0 0 3 n = 西就5 24 6 4 22 0 3 03 0 3 3 溉3 0 3 03 3 0 n ) 图4 3 初始化握手消息包头格式 ( 2 ) 服务器端初始化消息 在客户端完成初始化后,服务器端发出初始化信息,将帧缓冲的宽度、长度、 服务器的像素格式以及与当前桌面相关的名称等信息传送给客户端。格式如表 4 4 所示: n o o f b e $t y p e v a l u e 】d e s c i j p t i o n 2c a r d l 6 f r a m e b t ( ( f e r - w i d t h 2c 醵d 1 6 j m m 曲l 和p k i 蛰 1 6p 1 x e lf o r m 矗t 3 e r w r p i x e i 曲f n m | 4c a r d 3 2 k m m - l e n g t h t m e 1 e n g t hc a r d 8 , m a yn c l m e 吣 l r t r l g 图4 4 服务器端初始化消息 1 z 基于屏幕共享技术可复用远程监控构件研究与应用 ( 3 ) 设置编码方法消息 客户端发向服务器端的设置编码方法的消息格式如图4 5 、4 6 所示: n oo f 呐s t y p e v e l u e ld e s c r i p t i o o lc a e d e2 m e s s a g e - g p e l t x d d m g 2c a r d l 6 n u m b e r - o f e n c o d i n g s 图4 5 客户端发向服务器端设置编码格式消息包头格式 n oo f 蚵僻t y p e v a l u e 】嘶p t i 。n 4c a r d 3 2 e n c o d j n g - g p e o , e n c o d i n g 1 c o p yr x t a n g 如e n c o d i n g r r e e n 刚n g 4 c o r r ee n c o d i n g 1 w g t i l e e n c o d i n g 图4 6 设置编码格式消息包主体格式 ( 4 ) 帧缓冲刷新请求消息 在r f b 协议的实现中,客户端感兴趣的是服务器端所发送图形的x ,y 坐标, 以及需要更新的图形的长、宽等数值。服务器端在接受到客户端所发送的帧缓冲 刷新请求消息

温馨提示

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

评论

0/150

提交评论