(计算机应用技术专业论文)面向过程监控的嵌入式以太网web技术研究.pdf_第1页
(计算机应用技术专业论文)面向过程监控的嵌入式以太网web技术研究.pdf_第2页
(计算机应用技术专业论文)面向过程监控的嵌入式以太网web技术研究.pdf_第3页
(计算机应用技术专业论文)面向过程监控的嵌入式以太网web技术研究.pdf_第4页
(计算机应用技术专业论文)面向过程监控的嵌入式以太网web技术研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)面向过程监控的嵌入式以太网web技术研究.pdf.pdf 免费下载

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

文档简介

沈阳。i :业人学硕士学位论文 摘要 随着以太网已发展成为目前应用最为广泛的局域网,它与嵌入式i n t e m e t 相结合应 用于工业控制领域也已成为监控系统最新的发展趋势。嵌入式i n t e m e t 技术改变了以往 监控系统的体系结构,满足了现代监控系统对可扩展性、分布性、实时性的要求。该项 技术的研究有着广阔的应用前景。 本文围绕两项关键技术展开研究工作,即嵌入式设备的网络接入技术和组建基于局 域网式以太网的分布式监控技术。首先,在分析和总结已有的工业监控系统的基础上, 提出了一种基于以太网测控网关的嵌入式w e bs e r v e r 监控系统的总体方案设计和拓扑 结构。其次,本文对n u t y o s 操作系统中的t c p p 协议栈n u t n e t 进行了较深入的分 析,对协议找进行合理地简化和压缩,并以应用层 r r r p 协议和公共网关接口c g l 技 术为基础,利用s o c k e t 机制构建了三个功能模块来支持w e bs e r v e r 的实现,包括w e b s e r v e r 参数设置模块、r s 2 3 2 通讯模块和串口设备开关量,模拟量监控模块。 在数控设备上内嵌一个通信控制器,车间内部可构建一个局域网式监控系统。通过 对数控设备加工时的模拟量和开关量进行采集,w e bs e r v e r 便可监测到数控设备的状 态,并能够实现对设备的控制。此方案中的以太网测控网关即为通信控制器。其硬件部 分主要由8 位单片机和r t l 8 0 1 9 a s 网卡芯片构成,软件部分使用了n u t o s 实时操作 系统的开源t c p i p 协议栈。 本文详细阐述了所设计方案的硬件原理和软件实现机理,利用该方法解决了车间数 控设备构建局域网问题为嵌入式以太网w e b 技术在监控领域的广泛应用作了有益的 探索。 关键词:嵌入式以太网,w e bs e r v e r ,t c p i p 协议栈,监控系统 沈阳j = = 业大学硕士学位论文 r e s e a r c ho ne m b e d d e de t h e r n e tw e b t e c h n o l o g y o f p r o c e s s - o r i e n t e d m o n i t o r i n g a n dc o n t r o l a b s t r a c t w i t ht h ed e v e l o p m e n to fe t h e m e ta st h em o s t p o p u l a rl a n ,a tp f e s e m ,i ti sa p p l i e dt o i n d u s t r i a lc o n t r o lf i e l d sw i t he m b e d d e d1 1 1 t e m e tt o g e t h e r t h i si san e wt r e n da st om o n i t o r i n g a n dc o n t r o l s y s t e m e m b e d d e d i n t e r a c t t e c h n o l o g y h a s c h a n g e dp r e v i o u s s t r u c t u r eo f m o n i t o r i n ga n dc o n t r o ls y s t e m a tt h es a l d _ et i m e ,i th a ss a t i s f i e dt h en e e d so fe x p a n s i b i l i t y , d i s t r i b u t i o na sw e l la sr e a l t i m ep e r f o r m a n c eo f m o r d e m m o n i t o r i n g a n dc o n 廿o ls y s t e m t h e r e i sa f le x t e n s i v e p r o s p e c tt or e s e a r c ho n t h e t e c h n o l o g y t h ea r t i c l ef o c u s e so nt w ok i n d so f p i v o t a lt e c h n o l o g y o n ei sc o n c e r n e dw i t le m b e d d e d e q u i p m e n ta c c e s st oi n t e m e t ,t h eo t h e ri sc o n c e m e dw i t hc o n s t r u c t i n ge t h e m e td i s t r i b u t i o n m o n i t o r i n ga n dc o n t r o ls y s t e mb a s e do nl a n f i r s t l y , i ta n a l y z e sa n ds u n m m r i z e se x i s t i n g i n d u s l r i a lm o n i t o r i n ga n dc o n t r o ls y s t e m , t h e nc o m e st oag e n e r a ls c h e m ed e s i g na n dt o p o l o g y s t r u c t u r eo fe m b e d d e dw e bs e r v e rm o n i t o r i n ga n dc o n t r o l s y s t e m b a s e do ne t h e m e t m o n i t o r i n g a n dc o n t r o lg a t e w a y s e c o n d l y ,i ta n a l y z e sd e e p l yt c p i pp r o t o c o ls t a c kn u t n e ti n n u v o so p e r a t i n g s y s t e m , s i m p l i z e s a n d c o m p r e s s e sr e a s o n a b l y t h e p r o t o c o l s t a c ka n d c o n s t r u c t st h r e ef u n c t i o nm o d u l e s ,w h i c hi n c l u d et h es e t t i n gp a r a m e t e rm o d u l eo fw e bs e r v e r , t h er s 2 3 2c o m m u n i c a t i o nm o d u l ea n dt h es w i t c ha n ds i m u l a t i o nq u a n t i f i e sm o n i t o r i n gm o d u l e o fs e r i a li n t e r f a c ee q u i p m e n t , t os u p p o gw e bs e r v e rw i t hs o c k e tm e c h a n i s mo nt h eb a s i so f a p p l i e d - l a y e rh t t pp r o t o c o l a n dc g i t e c h n o l o g y w i t hac o m m u n i c a t i o nc o n t r o l l e re m b e d d e di nn c ,al o c a lm o n i t o r i n ga n dc o n t r o ls y s t e m c a nb ec o n s t r u c t e di nt h ew o r k p l a c e a n d 吐lg a t h e r i n gs w i t c ha n ds i m u l a t i o nq u a n f i e sw h e n n ci sp r o c e s s i n g , w e bs e r v e rc a nm o n i t o rt h es i t u a t i o no f n ct oc o n t r o lt h ee q u i p m e n t i nt h e s c h e m e ,t h ec o m m u n i c a t i o nc o n t r o l l e ri st h ee t h e m e tm o n i t o r i n gg a t e w a yc o n c e r n e d t h e h a r d w a r e i s m a d e u p o f 8 b i t ss c m a n d r t l 8 0 1 9 a s ,t h es o l , w a r e a d o p t s f r e ec o d eo f t c p i p p r o t o c a ls t a c k i nr e a l - t i m e o p e r a t i n gs y s t e m 2 - 沈阳l 业人学硕士学位论文 t h ea r t i c l eh a se x p l a i n e di nd e t a i l 廿1 eh a r d w a r ep r i n c i p l ea n dt h es o f t w a r em e c h a n i s m i n d e s i g n e ds c h e m e ,s o l v e dt h ep r o b l e m h o wt oc o n s t r u c tl a nw i t hn ci nt h ew o r k p l a c e ,a n d m a d eh e l p f u le x p l o r a t i o nt oa p p l yw i d e l ye m b e d d e de t h e m e tt e c h n o l o g yt om o n i t o r i n ga n d c o n t r o lf 论l d s k e y w o r d s :e m b e d d e de t h e m e t ,w e bs e r v e r ,t c p i p p r o t o c o ls t a c k ,m o n i t o r i n ga n d c o n t r o ls y s t e m 一3 - 独创性说明 本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 沈阳工业大学或其他教育机构的学位或证书所使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均己在论文中做了明确的说明并表 示了谢意。 签名:五垒江 日期:孙p f j f 关于论文使用授权的说明 本人完全了解沈阳工业大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论 文。 ( 保密的论文在解密后应遵循此规定) 签名:5 至垫 导师签名- 兰李垃日期:2 三二 尘! l 沈削1 = 业大学硕士学位论文 1 绪论 1 1 课题的提出 网络技术的发展引发了工业现场领域监控系统的深刻技术变革。监控系统结构网络 化与其体系丌放性将是监控系统技术发展的趋势。监控系统是集现代计算机技术、通信 技术、传感器技术、自动控制技术和人机系统技术等为体,对受控对象进行实时监测 和控制管理的计算机集成系统。盼控系统在实际工程中的应用有:工业生产过程实时监 控、动力设备集中监控、环境与安保集中监控、图像远程监控系统、电力综合监控系 统、综合网络监控系统等。本文中涉及的监控系统主要指用于控制的计算机系统( 包括 软件、硬件设备) ,而不包括传感器、检测仪表和执行机构。 监控系统的体系结构已经由早期的集中式监控结构演变到目前流行的三层分布式结 构。通常在这样的体系结构中,顶层是中央监控管理层,中间层为前置监控层,底层是 设备层。中央监控管理层负责整个系统的监控和系统监控数据的管理,在这一层常采用 c s ( 客户机、服务器) 机构,客户机和服务器通过以太网连接。服务器上用数据库系 统管理监控系统中的各种参数,以便客户机上运行的专用监控软件调用;客户机软件完 成监控参数的显示、报警判断、控制命令响应等工作。三层分布式结构采用了监控功能 “分散化”设计思想,使得整个系统对中央监控管理层的依赖性大大下降,提高了监控 系统的安全性。而且,中央监控管理层一般采用c s 结构,相比早期集中式结构而言, 其系统易扩展性有所提高。但是这样的体系结构也有明显的弱点,因为c s 结构中的客 户机是“胖客户机”,需运行专用的监控软件来显示和管理监控参数及响应控制命令。 当系统扩展时,所有客户机上运行的监控软件和通信计算机上运行的通信软件以及前置 机上运行的软件均需作相应的修改,显然这样工作量过大而不易实现。 目前,以太网在确定性和速度方面有了很大的提高,已成为世界上应用最多的网 络,正逐渐应用于工业自动化领域。与此同时,各种嵌入式系统也在不断发展,越来越 多的嵌入式控制设备都具有了以太网接入功能,因而能够利用以太网的开放性实现嵌入 式控制系统的网络化,这种嵌入式系统与工业以太网相结合的模式在监控中的应用将改 变现有监控体系结构的弱点。通过嵌入式i n t e m e t 系统组建监控系统,可以利用嵌入式 一 鎏旦l :些查堂堡主! 兰焦丝塞 w e bs e r v e r 将参数显示和监控等功能均通过网页的统一界面呈现给客户。这样,客户机 不需运行专用的监控软件,只需运行通用的浏览器来调用分散在各个受控设备中的嵌入 式w e bs e r v e r 上的监控参数显示页面就能达到监控设备的目的。当监控系统扩展 时,客户机上软件并不需作任何修改,从而大大提高了监控系统的易扩展性。 计算机监控系统是当代计算机技术与自动控制技术结合的产物,而嵌入式i n t e m e t 已经成为其重要的组成部分和技术热点。嵌入式i n t e m e t 系统满足了现代监控系统在 系统可扩展性、分布式和实时性等方面的技术要求,不仅成为计算机学科的重要门类, 而且是实现国家工业生产自动化、优质高产低耗、提高企业经济效益的重要技术手段。 作为实现嵌入式 n t e m e t 的有效手段,发展监控系统中嵌入式以太网w e b 技术的应用对 改造传统产业、实现工业现代化、促进产业信息化有重要意义。 1 2 论文主要研究内容 一般来说,嵌入式设备只要转变为嵌入式w e bs e r v e r ,再加上t c p i p 网络协议就 可以组建成一个监控网络。本文针对工业现场的数控设备加工过程需要得到维护和监控 的具体情况,同时为了研究目前嵌入式系统与工业以太网相结合所带来的监控领域网络 技术的变革,在数控设备中实现了一个带有w e bs e r v e r 的嵌入式系统。因此,本文实 际上主要围绕两大关键技术展开研究工作,即嵌入式设备的网络接入技术和组建基于局 域网式以太网的分布式监控技术。为了实现对数控设备的现场监控,我需要完成如下研 究工作: ( 1 ) 全面分析、总结已有的j i :业监控系统,利用现有局域网的丰富资源,分析设 计基于嵌入式以太网w e b 监控系统的总体方案、拓扑结构和体系结构。 2 ) 对n u t o s 嵌入式实时操作系统中的t c p i p 协议栈n u t n e t 进行简化和压 缩,实现基于t c p i p 协议的数控设备r s 2 3 2 接口与中央监控计算机的通讯。 ( 3 ) 在h h p 协议基础上,通过c g i 编程以及系统底层的驱动,设计嵌入式w e b s e r v e r ,实现数控设备的实时监测与控制。 2 沈队i :业人学硕士学位论文 2g t h 式以太网技术 2 1 嵌入式以太网概述 嵌入式系统的定义是:以应用为核,山、以计算机技术为基础、软件硬件可裁减,适 应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统嘲。它主要 由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件等部分组成,实 现对其它设备监控和管理等功能,它通常嵌入在主要设备中运行,这种设备可称为嵌入 式设备。 嵌入式系统至今已经有3 0 多年的历史了,它的发展与计算机技术、半导体技术、 电子技术以及网络技术的发展息息相关,嵌入式系统的发展分为四个阶段口l 。 第一阶段:以可编程控制器为核心,辅以监测、伺服、指示设备的系统。这种系统 大部分应用于一些专业性极强的工业控制系统中,一股没有操作系统的支持,通过汇编 语言程序对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系 统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这 种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远 不能适应高效的、大容量存储介质的现代化工业控制领域的需求。 第二阶段:以嵌入式m c u 为核心,辅以简单的前后台软件的系统。该阶段嵌入式 系统的主要特点是:所应用的m c u 种类多,常见的是8 0 ( 7 5 1 内核的单片机;整个系统 的造价低,但灵活性及效率高所以现在仍有很大市场;所采用的软件比较专业,必须 由专业技术人员操作,且用户界面也不够友好;该类系统主要用来控制系统运行以及对 某些参数进行测量。 第三阶段:以嵌入式操作系统为标志的嵌入式系统。该阶段系统主要特点是:所采 用芯片集成度提高,s o c ( 片上系统s y s t e mo nac h i p ) 趋势增强,处理器般是3 2 位a r m 、d s p 为代表;嵌入式操作系统般为多任务、内核小、模块化程度高、效率 高,且具有很强的实时性;一般具备文件和目录管理功能,并具有图形窗口的用户界 面:具有大量的应用程序接口( a p i ) ,开发应用程序简单。随着系统的芯片价格下降 以及开发费用降低,该系统会表现出较前面几个阶段的系统更为优异的性能。 一3 一 沈肘j 下业大学硕士学位论文 第四阶段:即目前的这一个阶段,可称之为嵌入式i n t e m e t 时代。这是嵌入式技术 和以太网技术融合发展的必然结果,也是工业控制系统发展的需要。 为了适应嵌入式分布处理和系统1 - _ 网需求,嵌入式系统要求配备标准的网络通信接 口,即嵌入式应用中需要以太网技术【4 】。以太网技术应用到嵌入式场合需要考虑多方面 的因素:以太网需要t c p f l p 协议支持,而传统t c p i p 协议在数据传送的可靠性以及数 据流量的控制上做的很好,但实时性方面做得不够好;另外传统t c p i p 的实现过于复 杂,需占用大量系统资源。而嵌入式领域的应用一般实时性要求比较高,因此传统 t c p 1 p 协议不能满足其实时要求;另一方面目前大量存在的是以8 位或1 6 位m c u 为 核心的嵌入式系统,该系统的主要特点是体积小、资源有限,在测控任务之外很难实现 传统的t c p f l p 协议。 综上考虑,在保留传统t c p i p 协议优点的同时,应该进行一些必要的精简和优化 改进,提高传统t c p i p 协议的实时性,尽可能做到代码精筒、存储开销小从而满足 嵌入式应用的要求。这种将以太网技术用于嵌入式系统联网的技术称为嵌入式以太网技 术,主要特点是实时性较强、代码精简和灵活性。 2 2 嵌入式以太网w e b 技术特点 嵌入式w e b 技术是嵌入式i n t e m e t 技术的重要组成部分,也是实现现场设备远程监 控的关键技术,利用嵌入式w e bs e r v e r 能够实现对处于嵌入式以太网环境中的工业设 各进行远程监视、控制、诊断、测试和配置等功目i 。本章对嵌入式w e bs e r v e r 技术基 础进行较为详细阐述。 由于i n t e m e t 技术的渗透,嵌入式系统正在变得越来越智能化并具有越来越多的网 络特性。藤w e b 技术的飞速发展,给嵌入式系统接入i n t e m e t 提供了很好的途径。近年 来,w e b 技术的发展几乎改变了现在的信息表达形式。w 曲具有界面友好,操作方便 等特点,因此深得广大用户的青睐,越来越多的应用是基于w e b 技术的。由于h t m l 语言的标准统一性,只要在嵌入式设备中有一个w e bs e r v e r ,就可以使用任意一种w e b 浏览器接收和发送信息【6 】。那么如何设计这种特别的w e bs e r v e r ,如何在嵌入式设备中 安置w e bs e r v e r ,就成了发展嵌入式w e bs e r v e r 的研究方向。 4 沈f 5 h j :业人学硕士学位论文 w e b 技术在i n t e m e t 上的广泛应用。导致w e b b r o w s e r 这一新的软件应用模型的流 行,该模型本来是奉行“瘦客户胖服务器”的理念,主要的应用程序在服务器上,客 户端只需要有浏览器坏境,便可根据需要从服务器下载应用程序来完成相应的任务。但 由于需要将w e bs e r v e r 安置在嵌入式系统中,受嵌入式系统资源有限的影响,我们必 须实现瘦w e bs e r v e r 。瘦w e bs e r v e r 是随着w e b 应用环境的改变而提出的。因为在嵌 入式应用当中,特别是在嵌入式设备中,一个w e bs e r v e r 不可能是很全面的,它必须 拥有足够小的容量,并且不影响嵌入式系统的整体性能,同时必须具备个w e bs e r v e r 应有的特征。一个典型的嵌入式w e b 应用如图2 】所示。它也可以包含一个实时操作系 统( r 旧s ) 。w e bs e r v e r 若被用作个单一线程,就不需要r t o s 的支持,或者是作 为多线程应用中的一个线程,不需要动态存储分配。 嵌入式w e bs e r v e r 通过c g i 接口和其他方法可以在h t m l 文件或表格中运行代码 供r a m 读写数据。h t m l 页面内容一般是通过存储r o m 中的压缩文件,由快速运行 的代码动态产生,可以利用j a v a 、j a v a s c f i p t 等技术在客户端生成应用代码,而在服务 器端发布网页,以减少在服务器端的代码和容量,提高服务器端的性能。这些就是瘦 w e bs e r v e r 的要求1 7 。嵌入式w e bs e r v e r 是瘦w e bs e r v e r 的一个很好的体现。 :图形用户界面压磊磊j 鬲i 元习 i 囤匪圈 晕阜阿 r 一一i 一i i 一一 t 一 一一一+ 一i 一 一一;畸e r 国圆! h l l p 引擎 i l h i h 弓l 擎 。一一一 一一一一一 t c p i p 撇栈 r c p r p 协议栈 。 l tl 图2 1 嵌 式w e b s e r v e r 系统模型 嵌入式w e bs e r v e r 的主要功能有: 5 一 一一姿幽王、业奎堂堡主鲨连壅 ( 1 ) 响应多个客户的实时h t l p 请求,并为每个客户建立连接,这是嵌入式w e b s e r v e r 的首要功能; ( 2 ) 对设备的实时监控管理,参数的在线查看和配置等; ( 3 ) 对设备访问的安全控制机制,包括s s l 、用户口令等; ( 4 ) 实现设备的故障智能报警: ( 5 ) 保证不同操作系统或者客户端对设备访问的致性。 2 3 嵌入式w e b 的l t i ,引擎及动态交互技术 2 3 1i - i t t p 协议 嵌入式w 曲s e r v e r 技术的核心是h t t p 引擎。h t t p 协议是w e b 应用的标准协 议,w c bs e r v e r 利用它与浏览器通信。h 1 v r p 规定了发送和处理请求的标准方式,规定 了浏览器与服务器之间传输的消息格式及各种控制信息【8 】。 h t i p 是、 n ,系统用来从分靠的服务器中检索信息的传输协议,其精巧通用、 无状态性以及面向对象的特点,使之非常适合于分布式协作化超文本超媒体系统,能 够满足w w w 系统中客户与服务器通信的需要,从而成为w w w 发布信息的主要协 议。h t t p 与其标准文档描述语言h t m l 可以为大众提供信息交换的方法,并经扩展可 用于许多系统中,如分布式对象管理系统等。h t y p 协议被设计成为适应快速、小流 量,用于传输分布多媒体系统,h t r p 比其他协议所花费服务器的c p u 或内存资源 小。h t i p 为客户1 服务器摸式,支持客户( 浏览器) 与服务器问通信,相互传送数 据,具有以下特点: ( 1 ) 简单灵活。h t t p 协议本身很简单,在客户与服务器连接后,客户必须传送的 信息只是请求方法和路径。h t i p 允许传输任意类型的数据对象。 ( 2 ) 无连接无状态。浏览器和服务器每进行一次h r r p 操作,就建立一次连接,随 即又断开此连接。一次h t r p 操作称为一次事务,h t f p 采用t c p 连接而且该连接状态 仅在此次事务中保持,无论浏览器或服务器都不会记忆上次连接的状态。 ( 3 ) 元信息。h t t p 对所有事务处理都加了头,在主要数据前加一块信息( 元信 息,即信息的信息) ,它是服务器能够提供f 在传送数据的有关信息。 6 一 沈1 3 1l 工业人学硕士学位论文 在l n l e m e t 上的通信一般是建立在t c p i p 连接上的,h r r p 的连接也不例外, h r r p 模型非常简单,它采用请求响应的握手方式,客户系统向服务器请求文件对象, 服务器把文件对象发往客户作为响应。每个h t r p 交互都由从客户发往服务器的请求与 服务器发往客户的响应组成。h r 丁p 请求的格式十分简单,请求和响应都以简单的 a s c i i 码形式表示。 服务器响应是对客户请求的回答,服务器解析客户请求,然后根据待定的方法采用 相应的行为,并给客户发送一个响应,响应的格式同样十分简单,包括一个表明请求成 功的状态码( 如不成功,说明不成功的原因) 及对象头的集合。随后服务器可以发送任 何被请求的数据。当数据发送后,服务器结束这次连接。 h r r p 报文一般有两种类型,一种是发送方发送的请求报文和响应方对其的响应报 文。请求报文的格式包括一个请求行、一个首部以及有时出现的一个主体。请求行定义 请求类型、资源( u r l ) 和h t t p 版本。请求类型将请求报文划分为几种方法,这些方 法是客户向服务器发出的真正命令或请求。 其一是g e t 请求。当客户要从服务器读取文档时使用g e t 方法。文档的地址定义 在u r l 中。这是读取文档的主要方法。服务器通常将文档的内容放在响应报文的主体 中作为响应。除非出现了差错。 其二是p o s t 请求。当客户要给服务器提供某些信息时就可使用p o s t 方法。例 如,它可将输入发送给服务器。 响应报文的格式包括一个状态行、一个首部、有时也包括一个主体。状态行定义响 应报文的状态。状态码字段反应响应的状态。1 0 0 系列的代码指示非正式的请求,2 0 0 系列的代码指示成功的请求。3 0 0 系列的代码是将客户重新定向到另一个u r l ,4 0 0 系 列的代码指示在客户端的一个差错,5 0 0 系列的代码指示在服务端的一个差错。 2 3 - 2 动态交互技术 中央监控计算机与嵌入式系统以及嵌入式系统之州通过以太网连接后,中央监控计 算机使用w e b 浏览器对嵌入式系统( 嵌入式w e bs e r v e r ) 进行监控时,需要通过动态 交互技术实现浏览器与服务器问的数据交换,动态交互技术是建立在t c p i p 通信基础 之上的,如公共网关接口c g i 通过t c p i p 上的h 2 t p 协议实现交互功能【9 。”。嵌入式 一7 沈阳卫i k 人学硕士学位论文 系统与浏览器端运行程序及嵌入式服务器之间通过t c ps o c k e t 或u d ps o c k e t 进行数据 传输。 w e bs e r v e r 本身只能完成客户端请求和自身的管理功能,不能提供更多的功能,如 在线查询等,所以要采用一种扩展手段,以允许用户编写扩展应用程序来扩展服务器的 功能。目前,网页上实现动态交n :| e | 勺技术主要有c g i 、p h p 和a s p 。 公共网关接v ic g i ( c o m m o ng a t e w a yi n t e r f a c e ) 是一种服务器与浏览器信息交换 的标准接口。在物理上,c g i 是一段程序,它运行在服务器上,提供与客户端h t m l 页面的接口,完成h t m l 无法做到的交互功能。 p h p ( p r o f e s s i o n a lh y p e r t e x tp r e p r o c e s s o r ) 是一种服务器内置式的s c r i p t 语言,能够提 供c g i 所实现的所有功能。 a s p ( a c t i v es e r v e rp a g e s ) 称为动态服务器主页,是一套微软开发的服务器端脚本环 境,通过a s p 可以结合h t m l 嘲页、a s p 指令和a c t i v e x 元件建立动态、交互且高效 的w e bs e r v e r 端应用程序。 c g i 、p h p 和a s p 三种技术在主要性能方面的比较如表2 1 所示1 9 1 。 表2 1c g i p h p a s p 主要性能比较 程序接口 c g ip h pa s p 操作系统均可 均可w i n 3 2 w e bs e r v e r均可数种 1 1 s 执行效率慢快快 稳定性最高佳中等 系统安全最佳仕极差 程序语言多种 p h pv b 以上三种目前较流行的动态交互技术,存在着各自的优势和不足。在实际应用中, 通常根据应用要求及服务器类型和操作系统决定选用哪种动态交互技术。综合比较而 言,c g l 除了执行效率慢以外,其它重要性能均比p h p 和a s p 优越。考虑到工业控制 8 一 沈刚l 业大学硕士学位论文 的实际情况,对稳定和安全性的要求较高,而且不会有大量请求同时并发,因此选用 c g i 作为服务器与浏览器之间的交互接口。 c g i ( 公共网关接口) 建立在客户机服务器机制上,为外部扩展应用程序与w e b s e r v e r 交互提供了一个标准接口。按照c g i 标准编写的外部扩展应用程序可以处理客户 端输入的工作数据,完成客户端与服务器的交互操作。 绝大多数网络应用软件是以客户机朋艮务器的机制运行。客户机服务器模式包括三 个组成部分:客户机( 程序) 、服务器( 程序) 和网络环境。其运行过程如下:用户通 过客户机程序向服务器提出一个请求,该请求通过网络发送给服务器,服务器程序解释 该请求并执行相应的操作,再将执行结果通过网络返送给客户机显示,之后服务器关闭 与客户机的连接。客户耖i 服务器工作原理见图2 2 。 客户端软件通常利用h t m l 表格完成用户输入功能,以输入数据为查询条件, h t t p 服务器将根据该查询条件调用相应的c g i 程序进行处理,最后向客户端返回处理 结果并结束交互过程。 ”客户机发送请求1 给服务器- 建立连接 。 一 客 。2 ) 服务器返回响应数据,关闭连接 服 户 3 ) 客户机发送请求2 给服务器,再次建立连接、 务 机 , 。d ) 服务器返回口触数据- 关闭连接 器 图2 2 无c g i 调用的客户栅服务器数据交换模式 2 3 3 公共网关接口c g i 工作机制分析 ( 1 ) 公共网关接口c g i 定义。c g i 全称“c o m m o ng a t e w a yi n t e r f a c e ”,即公共网 关接口,它是w e bs e r v e r 的一部分。c g i 程序是存放于h ,r t p 服务器上,为用户和 h t t p 服务器之外的其他应用程序提供互相“交谈”手段的软件,其无须考虑客户机和 服务器所运行的操作系统平台,只要二者的网关程序遵循同一数据传输协议,即可进行 数据交互。同时c g i 使用标准通讯机制,为其它应用程序与h t t p 服务器的通信提供 9 , 沈阳j :业大学硕士学位论文 了数据传输接口。因此c g l 可被用来作为h r r p 服务器与其他第三方应用程序之间的 “连接件”或“中件( m i d d l e w a r e ) ”。 ( 2 ) 使用c g i 时的客户机服务器间的数据交换。在使用c g i 时,浏览器与h 丌p 服务器间的数据传输如图2 3 所示i ”1 。 。 薹毽甬鬈湖谳赖 建立连揍葬发送语塞提仅为c g i 的运行参数3 ) 调用其他应用程! w e b m f p c g i 霾 型 服 箨 序 器 务 嚣 一5 ) 腮壹鬻返回结果一4 j 返回处理结果给 并关目连接服务器 图2 3 使用c g i 调用的客户机服务器数据交换模式 数据交互的具体步骤为: 1 ) 浏览器向h 1 t r p 服务器发送请求,即输出标准的统一资源定位符u r l ,该请求 必须包括要求服务的类型,提供该服务的主机域名、c g i 程序名以及用户数据等用户请 求信息。下面是一个典型的用户请求: 逝:w w w s v p u e d u c n c g i - b i n a u e r v ? n a m e = x u e s h e n g & w o r k g r o u p = s 3 19 服务类型主机及路径 c g i 程序用户输入信息 2 1h t t p 服务器解析该请求,当请求的是c g i 程序时,h r r p 服务器调用该程序。 3 1c g i 程序解析用户输入信息,这些信息通过环境变量、命令行参数或标准输入流 传递给c g i 程序。 4 ) 如果c g i 程序的处理结果需要返回给客户浏览器,则c g i 程序必须为这些输出 数据附加一个 i t r p 服务器可以理解的数据头,这对于服务器能否正确处理返回的数据 至关重要。 5 ) 服务器读取由c g i 程序返回的数据,根据数据头信息,决定处理方式。如果数 据头是t c o n t e n t - t y p c 类型,服务器将把数据送回给客户机,由浏览器负责返回数据的 处理和显示输出。 1 0 一一 鲨! ! ! :些查堂堡主塑墼 6 ) 一旦浏览器收到所有的返回数据,即关闭与服务器的连接。 2 3 4c g i 的工作原理及参数传递方式 c g i 工作原理是1 1 2 l ;客户端的用j 。通过浏览器完成一定输入工作后,向服务器发出 h r r p 请求( 称为c g i 请求) ,服务器守护进程接收到该请求后,就创建个子进程f 称为 c g i 进程) 。该c g i 子进程将c g i 请求的有关数据设置成环境变量,在c g i 程序与服务 器间建立两条数据通道( 标准t o ) ,然后启动u r l 指定的c g i 程序。子进程通过标准输 出流将处理结果传递给服务器守护进程,守护进程再将处理结果作为应答消息回送到客 户端。 c g i 程序的调用方法有两种,一种是由用户直接在浏览器u r l 输入窗口中调用, 种是在h t m l 程序中使用f o r m 表单调用。用户输入数据可以通过两种方式传递给 c g i 程序:通过环境变量( g e t ) 方式或通过c g i 程序的标准输k ( s t d i n ,p o s t ) 方式。 ( 1 ) 通过坏境变量获取用户数掘。用户通过浏览器的u r l 输入窗口直接输入一个 w e b 地址和请求数据来调用c g i 函数,或用鼠标点击w e b 页面上一个调用c g i 程序的 链接后,浏览器向h t t p 服务器传递用户发送的数据和浏览器所在系统的系统数据,服 务器分析这些数据并把它分解。再将内容分别赋给服务器相应的环境变量。主要的c g i 环境变量见表2 2 所示: 表2 2 主要的c g i 环境变量 g a t e w a y i n t e r f a c ec g i 科序所使剧的c g l 标准接口的版本号 h t t p 请求方法,用来决定是通过s t d h 3 还楚通过环境变量 r e q u e s t - - m e t h o d q u e r y - - s t r i n g 来获取客户端传输数据 q u e r y - - s t r i n g 用于保存c g 程序u r l 中“? ”之后的数据 c o n t e n t l e n g t h表示客户端传输数据的字节数 c o n t e n r t y p e 表示客户端传输数据的数据编码类型 如果在f o r m 中使用g e t 请求方法,c g i 程序将通过坏境变量q u e r y - - s t r i n g 获取客户端传输数据,该方法类似于在c 程序中获取命令行参数,例如:当用 户在u r l 输入窗键入 命令时,h ,盯p 服务器会把? 后的所有内容放 在服务器系统的变量q u e r y s t r i n g 中,c g i 程序q u e r y 将通过读取并分解该变量 字符串,获得“变量名变量值”数据对,如“n a m e = x u e s h e n g ”、“w o r k r o u p = s 3 1 9 ”,以便在程序中进行处理。 ( 2 ) 基于表格输入的用户数据传递。基于表格的数据输入即是在f o r m 表单中设置 m 唧o d = g e t ,此时,用户请求为g e t 型,h t t p 服务器将把用户输入数据放入环 境变量q u e r y - - s t r i n g 中供c g i 程序使用。 ( 3 ) 通过标准输入获取用户输入数据。c g i 程序通过环境变量获取用户输入数据的 方法简便易行,但也存在着潜在的危险。有时会引起系统故障,而且占用服务器内存资 源。 使用标准输入s t d i n 获取用户数据输入可以避免由于单纯使用环境变量可能带来的 问题。在f o r m 表单设置时采用皿t h o d = p o s t 。可将用户输入数据传递给相应 c g i 程序的标准输入设备s t d i n ,此时,程序要根据环境变量c o n t e n t l e n g t h 的 值确定输入数据的结束,并负责把由标准输入读取的用户数据串分解为相应的“变量名 赋值”数据对。 ( 4 ) c g i 程序的开发及其一般流程。在开发c g i 程序时,可根据服务器提供的接口 和实际需求选择编程语言,如c c + 十、p e r l 、s h e l l 、v b 、a p p l e s c r i p t 。如果选用c c + + 等语言,必须编译成可执行文件。如果选用p e r l 等解释语言,服务器必须安装相应的解 释器。 ( 5 ) c g i 与 l t r p 协议的关系。c g i 通过h t t p 协议在客户端和服务器端进行通 讯:客户端用户向服务器发送的请求是h t t p 请求消息,该消息中含有处理用户输入的 c g i 扩展程序的u r l 值。c g i 扩展程序在处理结束后,返回给客户端的应答是h 1 f r p 应答消息。因此c g i 程序的输出数据必须符合h 1 y r p 应答消息的语法格式。 2 4 嵌入式t c p ,i p 协议 虽然o s i 参考模型最初的设计目标是为开放式通信协议设计一个体系结构框架,但 它实际上并没有达到这目标。到目前为止,该模型只是一个非常完美的用于解释开放 1 2 一些型! :、业叁堂堡塑堡塞 式通信概念的方式,并不是在个数据通信会话中所必需功能的逻辑顺序。实际运用中 都是基于t c p i p 协议模型进行开发与数据传输,这是一个相对简化的协议体系 1 4l ”。 t c p i p 是一个协议族,它由几百种网络通信协议组成,这些协议用于组织计算机 网络中的数据通信。t c p 协议和i p 协议只是此协议族中的两个成员,但由于其地位重 要,因此通常用t c p i p 来代表整个协议族。嵌入式i n t e m e t 作为一种t c p i p 阱议的嵌 入式应用,其功能必定在嵌入式系统的定义范畴之内。因此,嵌入式i n t e m e t 的功能是 特定的,它不要求( 也不可能) 实现所有的t c p i p 协议,其实现的必定是t c p i p 族的 一个子集。基于这一思想,我们在设计嵌入式w e b 时就可以在t c p i p 协议的子集中实 现,降低设计的难度。 2 4 1 协议子集的构成 t c p i p 这种标准网络协议通常被认为是一个四层协议系统,每一层都有相应的协 议集合来实现不同的功能。其层次结构和主要的网络协议如表2 3 所示【l “。 表2 3t c p i p 协议结构 应用层( a p p l i c a t i o n ) h 丌p 、t e l n e t 、f t p 、s m t p 、s n m p 传输层( t r a n s p o r t ) 1 p 、u d p 网络层( i n t e r n e ! ) i c m p 、j p

温馨提示

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

评论

0/150

提交评论