(电路与系统专业论文)基于tcpip协议的分布式远程控制系统的研究.pdf_第1页
(电路与系统专业论文)基于tcpip协议的分布式远程控制系统的研究.pdf_第2页
(电路与系统专业论文)基于tcpip协议的分布式远程控制系统的研究.pdf_第3页
(电路与系统专业论文)基于tcpip协议的分布式远程控制系统的研究.pdf_第4页
(电路与系统专业论文)基于tcpip协议的分布式远程控制系统的研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(电路与系统专业论文)基于tcpip协议的分布式远程控制系统的研究.pdf.pdf 免费下载

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

文档简介

基于t c p i p 协议的分布式远程控制系统的研究摘要 摘要 本文概述了控制系统的发展状况及发展特点,明确了随着网络技术的发展控 制系统的发展方向,然后从分布式远程控制系统的网络构成出发,详细分析了实 现分布式远程控制系统的几种基本体系结构,并对可以实现分布式远程控制系统 的若干关键技术进行了深入的研究,在这些关键技术中,除讨论了比较流行的网 络及分布式技术如w i n s o c k 、d c o m 、c o r b a 和j a v a r m i 等,更深入研究了新 兴的用于制造业的仪表控制领域中的关键基础技术o p c 技术,在这些关键 技术基础之上,总结并提出了四大类实现分布式远程控制系统的设计方案:分别 是基于w i n s o c k 的实现方案、基于分布式对象的实现方案、基于o p c 技术的实 现方案和基于w e b 技术的实现方案。最后,本文结合笔者所开发的大型排烟天 窗控制系统的具体工程实践,对所设计的一些实现方案进行了具体的尝试。 关键词:控制网络套接字t c p i pc o m f d c o m c o r b a a b s t r a c t i nt h i sp 印e r ,t h ed e v e l o p m e n ts t a t u sa n dc h a r a c t e r i s t i c so fc o n t r 0 1s y s t e ma r e s t a t e db r i e f l y ,a n dt h ed e v e l o p m e n td i r e c t i o no fc o n t r o ls y s t e mw i 血t h e d e v e l o p m e n t o fn e t w o r k t e c h n o l o g y i sc o n f i r m e d b a s e do nt h en e t w o r kf r a m e w o r ko ft h e d i s t r i b u t e dr e m o t ec o n t r 0 1s y s t e m ,s o m eb a s i cp r o g r a ma r c h i t e c t u r e sa r ed i s c u s s e d a n dd e t a i l e ds t u d vi sm a d ea b o u td i s t r i b u t e dr e m o t ec o n t r o ls y s t e m s o m ep r e v a i l i n g n e t w o r ka n dd i s t r i b u t e dt e c h n o l o g y ,s u c ha sw i n s o c k ,d c o m ,c o r b aa n dj a v a r m i a r ed i s c u s s e d ,m o s to f a l l ,ar i s i n gi m p o r t a n tb a s i ct e c h n o l o g ya p p l i c a t i o nn a m e d0 p c , w h i c hi su s e df o rm a n u f a c t u r ei n d u s t r ya n di n s t m m e n tc o n t r o lf i e l d i ss t u d i e di n d e t a i l b a s e do nt h ea n a l y s i sa n ds t u d yo ft h e s et e c h n o l o g y ,f o u rs o l u t i o n sa r ep u t f o r w a r d ,t h e ya r et h es o l u t i o nb a s e do nw i n s o c k d i s t r i b u t e do b j e c t o p ca n dw e b t e c h n o l o g y f i n a l l y ,w i t ht h ea p p l i c a t i o ni n t h er e a l e n g i n e e r i n gp r o j e c t ,l a r g e - s i z e d r a i n e ds m o k ew i n d o wc o n t r 0 1s y s t e m ,t h e s es o l u t i o n sa r e p r o v e d t ob ef o a s i b l e k e y w o r d s :c o n t r o ln e t w o r k ,s o c k e t ,t c p i p ,c o m d c o m ,c o r b a i i 第一章引言 1 1 概述 第一章引言 网络技术的发展,引发了控制领域的深刻技术变革,控制系统结构沿着网络 化方向与控制系统体系沿着开放性方向发展将是控制系统技术创新的大潮流。计 算机局域网络、因特网、企业网络、现代信号处理等等使自动化系统与工业控制 系统从体系结构、控制方法、产品系列、人机协作方法等都发生了重大的变化。 进入2 1 世纪的控制系统以网络为主要特征:一方面是在自动化与工业控制中需 要更深层次地渗透通信与网络技术,另一方面是在通信网络的管理与控制中也要 求更多的采用控制理论与策略。“网上控制”和“控制入网”是2 1 世纪自动化与 工业控制的一个动向。 在控制系统中引入i n t e r n e t 、w e b 技术是种大势所趋,也是解决企业中经 营管理、办公自动化、监控调度、实时控制各层次中软件各自为政、风格不等 问题的一种可行的解决办法。面向对象技术、原型生长方法、模块化、软件可重 用性、系统重构以及柔性软件等概念的实际应用都对控制系统的软件开发起到了 重要的影响。o l e c o m d c o m 、a c t i v e x 、c o r b a 等技术将在控制系统软件开 发及软件产品化中起到重要的作用【2 】。 随着经济、科技与社会的发展,人们对生产和生活质量的要求不断提高。计 算机与自动化的应用领域也在扩大,出现了许多新的增长点,包括环境保护、公 用工程、道路与交通、楼宇与社区等方面的自动化。网络与控制系统、智能楼宇、 家庭网络等均在成长,适应这种需求的控制系统与管理系统将在新的世纪有较大 的发展。 1 2 分布式控制系统的发展 早在2 0 世纪6 0 年代,计算机就丌始了在控制系统中的应用。当时的计算机 只是控制调节器的设定点,具体的控制则由电子调节器来执行,这种系统又称为 计算机监控系统( s c c ) 。后来,人们利用微处理器和一些外围电路构成了数字 基于t c p i p 掷泌的分布式远程控制系统的研究 式仪表以取代模拟仪表,这种控制方式被称为直接数字控制( d d c ) ,该控制方 式提高了系统的控制精度和控制的灵活性,而且在多回路的巡回采样及控制中具 有传统模拟仪表无法比拟的性能价格比。到了2 0 世纪8 0 年代中后期,随着工业 系统的同益复杂,控制回路的迸一步增多,单一的d d c 控制系统已经不能满足 现场的生产控制要求和生产工作的管理要求,同时由于电子技术的飞速发展,大 规模集成电路的出现,导致了中小型计算机和微机的性能价格比有了很大的提 高。于是,由中小型计算机和微机共同作用的分层控制系统应运而生。在分层控 制系统中,由微机作为前置机去对工业设备进行过程控制,由中小型计算机负责 对生产工作进行管理,从而实现了控制功能和管理信息的分离。然而,当控制回 路数目增加时,前置机及其与工业设备的通信要求就会急剧增加,从而导致这种 控制系统的通信变得相当复杂,使系统的可靠性大大降低。 进入2 0 世纪9 0 年代后,由于计算机网络技术的迅速发展,同时也因为生产 过程和控制系统的进一步复杂化,人们将计算机网络技术应用到了控制系统的前 置机之间以及前置机和上位机的数据传输中。前置机仍然完成自已的控制功能, 但它与上位机之间的数据( 上位机的控制指令和控制结果信息) 传输采用计算机 网络实现。上位机在网络中的物理地位和逻辑地位与普通站点一样,只是完成的 逻辑功能不同。另外,上位机增加了系统组态功能,即网络的配置功能。这样的 控制系统称为集散控制系统( d c s ) 。d c s 系统是计算机网络技术在控制系统中 的应用成果,提高了系统的可靠性和可维护性,在今天的工业控制领域仍然占据 着主导地位p j 。 集散控制系统d c s 是出现场检测仪表、控制站和操作站组成,通过控制站 对现场的分散被控对象进行实时分散控制,而以操作站的中央管理计算机进行集 中操作、显示、报警、优化控制功能等,将集中管理与分散控制有机结合的系统。 现场控制站周而复始地对各检测仪表检测到的数据进行运算,并与操作站进行通 信,获得控制参数,最后将结果输出到执行器,控制站和操作站之间采用模拟信 号或非公开的数字信号传递信息,因此,不可能将不同厂家生产的产品互连在一 起,组成更大范围共享信息的网络系统。 第一章引言 2 0 世纪8 0 年代后期,人们在d c s 的基础上开始开发一种适用于工业环境 的网络结构和网络协议,并实现传感器、控制器层的通信,这就是现场总线。现 场总线控制系统f c s 从根本上改变了d c s 集中与分散相结合的集散控制结构体 系,采用标准化、公开化的规范协议将不同厂家生产的设备连成一个网络。这些 设备遵循相同的协议规范,在产品丌发期间,通过一致性测试,确保这些设备连 接于同一网络时,作为网络节点的各设备可实现互操作。同时,f c s 系统把控制 功能彻底下放到现场智能仪表,形成一种新的、全分布式的控制体系。简化了系 统结构,提高了可靠性。f c s 系统和传统的d c s 系统结构对比如图l 和图2 所 玎i 。 匹兰三燮奎塑至三三 凰 匹二至茎夔塑銎塑璺垡三三3 现场仪表现场仪表现场仪表现场仪表 图1d c s 系统 1 3 分布式远程控制网络的构成 图2f c s 系统 进入2 0 世纪9 0 年代,以i n t e r n e t 为代表的计算机网络技术的迅猛发展及相 关技术的完善,打破了传统通信方式的限制,它对其他领域正产生深远的影响。 在计算机网络技术的推动下,控制系统向开放性、智能化、网络化方向发展,产 生了控制对象形成的网络,简称控制网络i n f r a n e t ( i n f r a s t r u c t u r e n e t w o r k ) 。 基于t c p f l p 协议的分布式远程控制系统的研究 控制网络不同于一般的信息网络,控制网络主要用于生产、生活设备的自动 控制,对生产过程状态进行检测、监视与控制,它有自身的技术特点: ( 1 ) 要求节点有高度的实时性 ( 2 ) 容错能力强,具有高可靠性和安全性 ( 3 ) 控制网络协议实用、简单、可靠 ( 4 ) 控制网络结构的分散性 ( 5 ) 现场控制设备的智能化和功能自治性; ( 6 )与信息网络有较高的通信效率,便于实现与信息网络的集成 ( 7 ) 性能价格比高。 分布式网络技术与控制技术的结合孕育了分布式控制网络,为了实现分布式 控制系统的目标,分布式控制网络必将成为未来分布式控制系统的主导技术【2 】。 分布式控制网络是实现分布式控制系统目标的强大技术保证。分布式控制网络平 台主要有:d c o m 、c o r b a 和j a v a r m i 。d c o m 适合于m i c r o s o f tn t 网络平台; c o r b a 已被承认为国际工业标准,并得到较多应用;j a v a r m i 具有平台无关性, 有较好的安全性。 目前,基于w e b 的信息网络i n t r a n e t 已经成为企业内部信息网的主流,也可 以把i n t r a n e t 称为企业网络或企业内部网络,它是基于t c p i p 协议的计算机网络 互联与扩展技术,是将局域网和i n t e m e t 成功结合的典范。i n t r a n e t 应用i n t e m e t 的通信标准,具有开放性的互联标准,i n t r a n e t 根据企业经营管理的需要确定相 应功能与规模,它是基于t c p i p 协议的开放系统,能方便地与外界连接,尤其 是与i n t e m e t 连接,这使企业工作人员能方便地参与管理企业内部的各种资源。 将分布式控制网络通过网络接口接入信息网络i n t r a n e f f i n t e m e t 就构成了分 布式远程控制系统,从而形成了一体化的工业企业网,如图3 所示。 第一章引言 图3 分布式远程控制系统的构成 1 ,4 论文的主要工作 本文从控制网络与信息网络相结合构成的分布式远程控制系统出发,探讨了 在分布式远程控制网络中实现基于t c p f l p 协议的远程控制的多种关键技术,设 计并分析了多种可实现分布式远程控制系统的具体方案,最后结合所设计的几种 实现方案详细阐述了课题大型排烟天窗控制系统的设计思路及开发过程。 基于t c p i p 协议的分布式远程控制系统的研究 第二章实现远程控制系统的基本体系结构 体系结构就是用于定义一个系统的结构及系统成员间相互关系的一套规则。 远程控制系统的实现过程实际上是一套应用程序的开发过程,应用程序都包含有 演示代码、数据处理代码和数据存储代码等几部分,应用程序的体系结构因程序 代码的包装方式的不同而不同。信息技术的高速发展推动了应用程序体系结构不 断更新,从单机时代的主机终端模式、文件服务器时代的共享数据模式、客户 机朋艮务器时代的c s 模式、电子商务时代的b s 网络模式,到目前最先进的三 层甚至多层模式,应用程序的体系结构已经发生了巨大的变化。 2 1 o ii e n t s e r v er 结构 p c 时代到来后,计算机网络和计算机应用得到了很大的发展,随着网络操 作系统的兴起,以及大型数据库系统的粉墨登场,开辟了网络应用的新模式 客p n 务器( c s ) 模式,这种模式是计算机网络发展第二阶段出现的一种分布式 计算处理的网络系统。c s 结构模型如图4 所示。 客户端 图4c s 结构的模型图 c s 结构是一种两层结构的系统:第一层在客户端结合了表示与业务逻辑, 即负责处理用户的输入与输出并完成事务的逻辑处理;第二层通过网络结合了数 据库服务器或服务程序。它将多个复杂的网络应用的用户交互界面和业务应用处 理与数据访问及处理相分离,服务器与客户端之间通过消息传递机制进行对话, 由客户端发出请求给服务器,服务器进行相应的处理后经传递机制送回客户端。 第二章实现远程控制系统的基本体系结构 交互性强是c s 固有的一个优点:在c s 中,客户端有一套完整的应用程序, 在出错提示、在线帮助等方面都有强大的功能;其次,c s 结构通过将任务合理 分配到c i i e n t 端和s e r v e r 端,既降低了系统的通讯开销,又可以充分利用两端 硬件环境的优势,因此这种模式具有强壮的数据操纵和事务处理能力;又由于 c s 是配对的点对点的结构模式,采用适于局域网的安全性较好的网络协议,所 以保证了数据的安全性和完整性;它可以将大量计算功能由前台转移到后台处 理,既可以大大提高系统处理速度,也可以提高数据访问的正确性。但随着网络 规模的日益扩大,应用程序的复杂程度不断提高,逐渐也暴露了一些缺点:开发 成本较高;移植困难:用户界面风格不一;使用繁杂,不利于推广:维护复杂, 升级麻烦;客户端与后台服务器数据交换频繁,且数据量大,当大量用户访问时, 易造成网络搠塞;新技术不能轻易应用,因为一个软件平台及开发工具一旦选定, 不可能轻易更改。 c s 模式的控制系统一般建立在专用的网络上,适用于小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务,该种控制系统一般面向 相对固定的用户群,对信息安全的控制能力比较强。 2 2b r o w s e r s er v e r 结构 随着i n t e r n e t i n t r a n e t 技术的不断发展,尤其是基于w e b 的信息发布和检索 技术,导致了整个应用系统的体系结构从c s 的主从结构向灵活的分布式结构演 变,这一演变给体系结构在当今以w e b 技术为核心的信息网络的应用赋予了新 的内涵,这种新型的分布式结构就是浏览器朋臣务器( b r o w s c r s e e r ) 结构。b s 结 构模型如图5 所示。 客户端 图5b s 结构的模型图 基于t c p i p 协议的分布式远程控制系统的研究 按照b s 模式构建的应用系统由浏览器( b r o w s e r ) 和服务器( w e b s e r v e r 、o t h e r s e r v e r 、m i d d l ew a r e ) 组成,用户界面完全通过w w w 浏览器实现,一部分事务 逻辑在前端实现,但是主要事务逻辑在服务器端实现,数据和应用程序都存放在 服务器上,客户端运行程序是靠浏览器软件( 如i e ,n e t s c a p e 等) 登录服务器进行 的。该结构将应用逻辑全部置于服务器上,客户端可以利用w e b 浏览器下载应 用,在浏览器上执行,这样就可以实现浏览器功能的动态扩展。b s 结构主要是 利用了不断成熟的w w w 浏览器技术,结合浏览器的多种s c r i p t 语言( v b s c r i p t 、 j a v a s c f i p t 等脚本语言) 和a c t i v e ) ( 技术,用通用浏览器就实现了原来需要复杂专 用软件才能实现的强大功能,是一种全新的软件系统构造技术。随着m i c r o s o f t 将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结 构。对于日益发展的大型企业来说,b s 模式的控制系统无疑会促进生产异地化, 扩大企业规模效益。 与c s 相比,采用b s 模式的体系结构具有以下优点: ( 1 )界面统一、使用简单:客户端只需安装单一的浏览器软件( 如i e 、 n e t s c a p e 等) ,不需要像c s 结构中那样安装客户端软件、应用软件等,操作界 面简单统一,这样不但可以节省客户机的资源,而且使安装过程更加简便; ( 2 ) 易于维护:由于客户端无需安装专用的软件,对应用系统进行升级时, 只需更新服务器端的软件,用户从网上自己下载安装就可以实现升级,实现系统 的无缝升级,减轻了系统维护与升级的成本与工作量,使用户消耗的总体成本大 大降低: ( 3 ) 扩展性好,有效保护企业投资:b s 模式由于采用标准的t c p i p 、 h t t p 协议,它可以使网管系统与i n t e m e t i n t r a n e t 有机结合,具有良好的扩展性 ( 4 ) 信息共享度高:h t m l 是数据格式的一个开放标准,目前大多数流行 的软件均支持h t m l ,同时m i m e ( m u l t i - p u r p o s e i n t e m e tm a i le x t e n s i o n s ) 通用 因特网邮件扩展技术使得浏览器可以访问多种格式的文件。 第二章实现远程控制系统的基本体系结构 当然,b s 模式也有它的缺点:根据软件任务的不同,有的系统需要客户端 完成大量操作,而浏览器暂时不具备所需的能力,则在第次登录服务器时会自 动下载并安装可以实现该功能的“组件”,所以有的b s 结构的软件第一次运行 时间会比较长;另外,b s 建立在广域网之上,面向不可知的用户群时,对安全 的控制能力相对较弱。从当前的技术水平看,b s 模式的控制系统特别适用于系 统同用户数据交互量不大且数据交换不频繁的情形。 2 3 三层( 多层) 结构 随着i t 产业的不断发展,两层体系结构逐渐显现了它的不足:由于最终客 户需求的千变万化,客户端可能会不堪重负,而客户端程序的过于庞大显然与分 布式计算的思想背道而驰。解决上述问题的方案,就是采用多层的体系结构。 针对两层模式的不足,将两层结构拓展为3 层或多层结构,把客户端和服务 器端中的应用逻辑剥离出来,形成一层或多层,即功能层或业务层。三层结构模 型如图6 所示。 表示层 l 用户界面 ll 浏览器 i illi i 功能层 l 应用服务器ll w e b 服务器 i i 数据层 l 文件系统ll 数据库1 图6 三层结构模型图 三层结构将应用划分为:表示层、功能层、数据层。袭示层负责处理用户的 输入和向用户的输出j 在表示层中包含系统的显示逻辑并有选择地允许用户编辑 数据,它的任务是由交互程序向网络上的某一服务器提出服务请求,服务器对用 户身份进行验证后,用特定的协议把所需的资源传送给客户端,客户端接收传来 9 基于t c p i p 协议的分布式远程控制系统的研究 的数据,并把它显示出来。功能层中包含系统的事务处理逻辑,是上下两层的纽 带,它执行业务规则和数据规则,从数据层获取数据,向表示层提供数据,表示 层只与功能层打交道,不直接与数据层打交道。业务规则提供表示层所需的数据 筛选、逻辑运算,数据规则用来确保在多个存储位置上存储数据的一致性,它建 立实际的数据库连接,根据用户的请求生成s q l 语句检索或更新数据库,并把 结果返回给客户端,这层通常以动态链接库的形式存在并注册到服务器的注册 簿( r e g i s t r y ) 中,它与客户端通讯的接口符合某一特定的组件标准( 如c o m , c o r b 舢,可以用任何支持这种标准的工具开发。数据层负责实际的数据存储和 检索,它包含系统的数据处理逻辑,它的任务是接受客户对数据库操纵的请求, 实现对数据库查询、修改、更新等功能。在三层分布式体系中,功能层和数据层 还可以再被进行细化,但严格地讲,它们仍然是三层,多层结构主要是指逻辑意 义上的多层,不是物理意义上的多层。 在严格的三层结构类型中,用户服务布置在客户端,业务规则服务布置在应 用服务器上,数据服务分布在数据服务器上,这种分布式模型提供了多个层次上 的抽象:数据的设计、定位和实现对于业务规则服务是透明的:业务规则服务不 知道、也不用考虑自身如何与使用者进行交互:用户服务不需要了解如何实现业 务逻辑。 三层( 多层) 结构设计较两层结构的优点是:能够创建真正意义上的“瘦客 户”,前端机应用程序安装方便,对系统的要求降低;可以更好的支持分布式计 算环境;良好的安全性,用户端只能通过应用层来访问数据层,减少了入口点, 把很多危险的系统功能都屏蔽了;强大的扩展性和伸缩性,组件化设计,使得用 户可以定制自己的系统,具有良好的二次开发性;灵活性,功能层和数据层中的 服务器可以有多个,这样,大规模系统中的数据库和应用程序组件可以被分布于 不同的服务器上运行,大幅度地减少数据库服务器的负担。在这个体系结构中, 网络已变成一个智能对象,可以充分表示整个应用的实体,它使客户端尽可能简 单,使逻辑和智能集中在中间层,当应用逻辑改变时,只需要对中间层的应用服 务器进行修改,客户端几乎不用做任何调整,这一点更贴近于“网络就是计算机” 的发展趋势。三层结构已被广泛用于高效的分布式系统中,用来提高系统的运行 o 第二章实现远程控制系统的基本体系结构 性能和灵活性、可伸缩性、可复用性以及可维护性,并能隐藏复杂的分布式处理, 合理地分割三层结构并使其独立,系统的结构层次变得清晰简单,每层都可以在 不同的平台上使用不同的语言独立丌发、运行、测试。从当前的技术水平看,按 照三层结构开发的控制系统适用于规模比较大的企业级应用。 基于t c p i p 协议的分布式远程控制系统的研究 第三章实现远程控制系统的关键技术 控制系统的发展得益于软件、网络和分布式技术等计算机技术的发展,计算 机技术发展到今天经历了多次技术革新,每一种新技术的出现都可以在计算机控 制领域中找到其用武之地,下面介绍一些可以用于实现远程控制系统的关键技 术。 3 1 w in s o c k 技术 3 1 1 基于w in s o c k 的网络通信原理 w i n s o c k 是一套由b e r k e l e y 套接字发展而来的开放的、支持多种协议的 w i n d o w s 下的网络编程接口,是w i n d o w s 网络编程事实上的标准。 套接字( s o c k e t ) 最初是由加利福尼亚大学b e r k e l e y 分校为u n i x 操作系统开 发的网络通信接口,随着u n i x 操作系统的广泛使用,套接字成为当前最流行的 网络通信应用程序接口之一。套接字是通信的基石,是支持t c p i p 协议的网络 通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端 点,每个网络对话包括两个端点:本地主机( 或进程) 和远地主机( 或进程) ,它构 成了在单个主机内及整个网络间的编程界面。 套接字存在于通讯域中。通讯域是为了处理一般的线程通过套接字通讯而引 进的一种抽象概念。套接字通常和同一个域中的套接字交换数据,w i n s o c k 上见范 支持单一的通讯域,即i n t e m e t 域。各种进程使用这个域互相之间用t c p i p 协议 族来进行通讯。套接字可以根据通讯性质分类,这种性质对于用户是可见的。应 用程序一般仅在同一类的套接字间通讯,不过只要底层的通讯协议允许,不同类 型的套接字间也照样可以通讯。用户目前可以使用两种套接字,即流套接字和数 据报套接字。流套接字提供了双向有序的、无重复并且无记录边界的数据流服务, 数据报套接字支持双向的数据流,但并不保证是可靠、有序、无重复的。 流和数据报套接字编程时序图分别如图7 和图8 所示。 第三章实现远程控制系统的关键技术 服务器 socket ( ) 土 bind ( ) 上 listen () l 客户机 accept ( ) soc 饿et () 工 i 1 塞婷待彝户数据 【 l i 建立连接 l c 。:t ( ) 1 。() 请求数据l 。,。专( , j l 处理服务i i l f 求 i l 矗菩赣据 1 l write ( ) ll read ( ) 上 l close ( ) close ( ) 服务器 图7流套接字编程时序图 so cket () bind ( ) 上 客户机 read fro i l l ( )socket () 上 阻塞,等待客户数据 bind ( ) l 瞅务请求 jsend 。() + l 处理服务请求 l l 服务应符 l i sendt 。( ) l r eadfr 。m ( ) 上l close ( ) cl0se () 图8数据报套接字编程时序图 基于t c p i p 协议的分布式远程控制系统的研究 3 1 2 w in s o c k 下网络通信的编程实现 目前通信网的协议多采用t c p i p ,但是所开发的网络通信应用程序并不能 直接与t c p i p 核心打交道,而是与网络应用编程接口w i n s o c ka p i 打交道, w i n s o c ka p i 则可直接与t c p i p 核心进行沟通。w i n s o c k a p i 在继承了b e r k e l e y 套接字主要特征的基础上,又对它进行了重要扩充,如提供了异步处理函数,增 加了符合w i n d o w s 消息驱动特性的网络事件异步选择机制,这些扩充有利于应 用程序开发者编制符合w i n d o w s 编程模式的软件,它使在w i n d o w s 下开发高性 能的网络通信程序成为可能。应用程序调用w i n s o c ka p i 实现相互之间的通讯, w i n s o c k 又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。 应用程序与w i n s o c k 的关系如图9 所示 图9 应用程序与w i n s o c k 的关系 3 2 分布式对象技术 3 2 1c o m d c o m 技术 c o m ( c o m p o n e n to b j e c tm o d e l ) 即组件对象模型,是一种以组件为发布单元 的对象模型,这种模型使各种软件组件可以用一种统一的方式进行交互。所谓组 件对象,实际上就是预定义好的、能完成一定功能的服务或接口a 而这些组件对 象如何与应用程序以及其他组件对象共存并相互通信和交互,这就需要制定一个 第三章实现远程控制系统的关键技术 规范,让这些组件对象按统一的标准方式工作。c o m 就是这样的个二进制规 范,它与源代码无关。这样,即使c o m 对象由不同的编程语言创建,运行在不 同的进程空间和不同的操作系统平台,这些对象也能够互相通信。c o m 既是规 范,也是实现,它以c o m 库的( o l e 3 2d l l 和o l e a u t 3 2 d l l ) 的形式提供了 访问c o m 对象核心功能的标准接口以及一组a p i 函数,这些a p l 函数用于创建 和管理c o m 对象。 d c o m 是c o m 的扩展,它可以说是一种通信协议,提供组件通信的底层 控制,能够实现位于不同计算机上c o m 对象的相互通信,这些计算机可以在局 域网内,也可以在广域网上,甚至通过i n t e m e t 进行连接。 c o m 组件有两种进程模型,分别为进程内组件和进程外组件。虽然进程外 组件也包括了远程组件的可能,但一般把本地进程外组件与远程组件即d c o m 组件区分开来。进程内组件与客户程序之间的通信过程比较简单,它们直接通过 接口调用进行通信。而对于进程外的组件又存在着不同,由于进程外组件与客户 运行在不同的进程空间,所以客户程序调用组件对象并不是直接进行的,而是用 到了操作系统支持的一些跨进程通信方法。c o m 使得这种通信能够以一种完全 透明的方式进行:它截取从客户进程来的调用并将其传送到另一进程中的组件, 当客户进程和组件位于不同的机器时,d c o m 仅仅只是用网络协议来代替本地 进程之间的通讯,无论是客户还是组件都不会知道连接它们的线路比以前长了许 多。图1 0 显示了d c o m 的整体结构:c o m 运行库向客户和组件提供面向对象 的服务,并且使用r p c ( r e m o t ep r o c e d u r ec a l l ,远程过程调用) 和安全机制产生 符合d c o m 线路协议标准的标准网络包。 图1 0 客户与d c o m 组件的通信示意图 基于t c p p 坍议的分布式远程控制系统的研究 在c o m 结构体系中,每一个组件对象都有一个c l s i d 作为对象的唯一标 识。但如果我们要创建一个d c o m 对象,那么仅仅提供一个c l s i d 信息并不够, 我们还必须指定待创建的对象位于哪个机器上。一旦机器名和对象c l s i d 给定 了,那么我们可以调用c o m 库的基本创建函数( 比如c o g e c c l a s s o b i e c t ) 创建 远程组件对象。c o m 库的创建函数得到了远程对象的位置信息后,再把对象创 建的任务交给s c m ,由s c m 通过r p c 与远程机器进行通信。s c m 也是c o m 库的一部分,但它是一个单独的进程。s c m 负责创建新的c o m 对象,也负责 建立组件对象与客户程序之间的连接。如果要创建远程对象,它会通过r p c 调 用远程机器上的s c m ,由远程机器上的s c m 启动组件进程,并创建组件对象, 然后返回到客户机器。远程组件对象被创建之后,它在返回到客户机器的途中, 还要经过列集( m a r s h a l i n g ) 和散集( u n m a r s h a l i n g ) 的打包和解包处理,包括创 建代理对象和装载存根代码等。一旦组件对象被创建完成之后,客户与组件之间 的通信不再经过s c m ,而是直接通过代理对象和存根对象以及c o m 库提供的 底层传输机制来完成。 3 2 2c o r b a 技术 c o r b a 是由o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 开发和维护 的一种开放的工业标准,它是跨越异种平台的基于对象的分布式应用体系结构参 考模型。它解决了平台的异构性问题,并为解决数据库系统的异构性提供了基础 结构。 为了使得基于对象的软件在分布异构环境下具有良好的可重用性、可移植性 和可互操作性,方便建立异构分布式系统,o m g 制定了o m a ( o b j e c tm a n a g e m e n t a r c h i t e c t u r e ) 对象管理参考模型,包括对象请求代理、对象服务、公共设施、应 用接口和领域接口。其中,对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) 是c o r b a 对象的总线,在c o r b a 规范中处于核心地位,它主要负责实现客户机和对象之 间的通信,定义了异构环境下c o r b a 对象透明地发送请求和接受响应的基本机 制,是建立c l i e n t s e r v e r 体系的中间件,是构建分布对象应用、在异构或同构环 境下实现应用间互操作的基础。它负责提供对象间信息流通所需的通路,不同硬 第三章实现远程控制系统的关键技术 件平台在传递参数时均使用自己的格式,一旦进入o r b 后,c o r b a 将其转换 为一种通用的格式,这样各种平台之间的信息便实现了共享。如图1l 所示,o r b 在o m a 中被作为一条软件总线来规范和容纳不同软件模块之间的通信与协作, 使用户可以在不了解实现交互细节的情况下,建立共享资源的应用,从而能充分 利用分布的、可以互操作的对象构造可以互操作的应用系统。 应用对象b i应用对象 f 。lf 。 上上 对象请求代理o r b 图1 1 对象管理参考模型 c o r b a 提供了标准的接口定义语言( i d l ) ,它通过说明对象的接口来定义 对象,一个接口包括一组命名的操作和相应的参数。i d l 实现了到大多数流行语 言的映射,丌发者可以随意选用自己偏爱的语言,而不必受某一种特定语言的约 束。 c o r b a 的运行机制是使用代理来工作的。使用代理目前已成为解决复杂问 题的主流设计模式,这些复杂问题一般都涉及到在分布对象间传递数据。代理驻 留在服务器和客户机上。当它通过一个本地进程进行通信时,就能在客户机或服 务器上被激活。然后,o r b 处理发生在代理间的细节( 如网络通讯) 。o r b 相互 之间的操作是通过通用对象请求代理通信协议( g i o p ) 和网间对象请求代理通 信协议( i i o p ) 。g i o p 协议规定了o r b 间通信的一组通用报文格式和公用数据表 示,它被设计成直接工作在各种面向连接的传输协议上。g i o p 协议定义了七种 报文格式,涵盖了所有o r b 请求回复语义。大多数情形下,客户一打丌连接, 就立即向对象发送请求。通过公用数据表示( c d r ) 把用接口定义语言( i d l ) 定义的 数据类型映射为一一种网络化的具体消息表示。i i o p 协议规定了g i o p 消息如何在 基于t c p i p 协议的分布式远程控制系统的研究 t c p i p 网络上交换,它使得利用i n t e m e t 本身作为框架对象请求代理成为可能, 其它对象请求代理可以通过这个框架对象请求代理建立桥路。 如图1 2 所示,它显示了一个c o r b a 客户端和服务器端较底层的传输细节。 根据c o r b a 的观点,在一个客户端代表服务器端的代理被称为存根s t u b ,在服 务器端表示一个客户端的代理称为框架s k e l e t o n 。c o r b a 客户端的s t u b 通过安 装在客户端的o r b 软件来处理接口调用,o r b 又通过s m a r ta g e n t ( n 掩运行在 局域网中的其它机器上1 所提供的目录服务来动态地定位一个可用的服务器,该 服务器才真正地实现了接口。c o r b a 服务器端的o i l l 3 把客户的接口调用传递 给一个自动生成的s k e l e t o n ,s k e l e t o n 与o r b 之间通过b a s i co b j e c ta d a p t o r ( b o a ) 通信。通过b o a ,s k e l e t o n 在s m a r ta g e n t 上注晁| 对象,表明对象的作用域,确 定对象是否可以在远程环境下创建实例。 图1 2 简单的c o r b a 应用程序的结构 3 2 3d a v a r m i 技术 j a v a r j v l i 是s u n 公司的基于j a v a 语言的分布式对象实现技术。它基于j a v a 第三章实现远程控制系统的关键技术 的对象机制,提供了一种简单、直接的分布式应用系统的实现模式。j a v a 语言是 j a v a 系列技术的基础和核心,它是由s u n m i c r o s y s t e m s 公司开发的面向网络的程 序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而 且可在任何计算平台上安全地运行。j a v a 突破了用户端机器环境和c p u 结构, 是一种“写一次即可在任何机器上执行( w r i t eo n c e ,r u na n y w h e r e ) ”的语言, 它允许使用者将应用程序通过i n t e m e t 从远端的服务器传输到本地的机器上并予 以执行,应用程序的提供者不需要知道使用者的电脑硬件( 如s u n ,i n t e l ,m a c 等) 与操作系统软件( 如u n i x ,w i n d o w sn t 等) 环境。 r m i 全称为r e m o t em e t h o di n v o c a t i o n ( 远程方法调用) ,其主要功能是使用户 能访问在另一主机上的j a v a 对象,并远程调用其方法。程序的对象是客户,丽 远程对象是服务器,远程对象也可以是另一个远程服务对象的客户。通过使用持 续性( 串行化和解串行化) ,本地对象和原始类型值可以作为参数传递给远程对 象。j a v a r m i 的平台无关性是通过j v m ( j a v av i s u a lm a c h i n e ,j a v a 虚拟机1 来实 现的也就是说只要分布于网络中的客户机和服务器都运行j v m ,就可以使用 j a v a r m i 机制在客户程序和服务器程序问相互调用方法,实现信息传输。r m i 实际上并没育中间件的概念,丽是采用r p c ( r e m o t ep r o c e d u r ec a l l ,远程过程调 用1 机制,使分布对象可以通信和协同工作。j a v a r m i 最大的优势是其允许能够 象传递简单类型数据一样直接进行整个对象的传递,这也是其他的分布式技术所 没有的。烈i 目前使用j a v a 远程消息交换协议j r m p ( j a v ar e m o t em e s s a g i n g p r o t o c 0 1 ) 进行通信,该协议类似于c o r b a 中的i l o p 协议,是专为j a v a 的远程 对象制定的协议。用j a v ar m i 开发的应用系统可以部署在任何支持j r e ( j a v ar u n e n v i r o n m e n tj a v a ,j a v a 运行环境) 的平台上。但由于j 蹦p 是专为j a v a 对象 制定的,因此,r m i 对于用非j a v a 语言开发的应用系统的支持不足,不能与用 非j a v a 语言编写的对象进行通信。 r m i 的系统结构如图1 3 所示。 基于t c p 九p 协议的分布式远程控制系统的研究 客户 图 服务器 了 s t u bl s ke l e t o n li 远程引用层r e m o t er e f e r e n c el a y e r * _ i ” v * j n * jj 传输层t r a ns p o r tl a y e r 图1 3r m i 的系统结构图 r m i 的工作原理:远程方法调用从客户对象经存根程序( s t u b ) 、远程引用层 f r e m o t er e f e r e n c el a y e r ) 和传输层( t r a n s p o r tl a y e r ) 下,传递给主机,然后再次 经传输层,向上穿过远程调用层和框架( s k e l e t o n ) ,到达服务器对象。存根程序 扮演着远程服务器对象的代理的角色,使该对象可被客户激活。远程引用层处理 语义、管理单一或多重对象的通信,决定调用是应发往一个服务器还是多个。传 输层管理实际的连接,并且追踪可以接受方法调用的远程对象。服务器端的 s k e l e t o n 完成对服务器对象实际的方法调用,并获取返回值。返回值向下经远程 引用层、服务器端的传输层传递回客户端,再向上经传输层和远程调用层返回。 最后,存根程序获得返回值。 3 3 组件软件开发技术 开发人员可以把经过测试的标准部件装配成应用程序进行重用,并开发出更 强有力的产品,所以应用组件的软件开发方法已成为软件工业中最引人注目的一 大趋势。 所谓组件就是可以自行进行内部管理的一个或多个类所组成的群体,除了群 体提供的外部操作界面外,其内部信息和运行方式外部不知道,使用它的对象只 能通过接口操作它。每个组件包含一组属性、事件和方法,组合若干组件就可以 2 0 第三章实现远程控制系统的关键技术 生成设计者所需要的特定程序。组件往往设计成第三方厂家可以生产和销售的形 式,并能集成到其它软件产品中,应用程序开发者可以购买现成的组件,他们只 要利用现有的组件,再加上

温馨提示

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

评论

0/150

提交评论