(电路与系统专业论文)嵌入式web技术应用研究.pdf_第1页
(电路与系统专业论文)嵌入式web技术应用研究.pdf_第2页
(电路与系统专业论文)嵌入式web技术应用研究.pdf_第3页
(电路与系统专业论文)嵌入式web技术应用研究.pdf_第4页
(电路与系统专业论文)嵌入式web技术应用研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(电路与系统专业论文)嵌入式web技术应用研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着嵌入式技术在性能和功能方面的迅速提升,w 曲技术已经成为嵌入式应 用领域的一项关键技术,因此研究w e b 技术在嵌入式应用中的实现技术具有非常 重要的应用价值。 本文针对嵌入式w e b 服务器实现过程中的资源问题、安全性问题等难点给出 了相应的解决方法,利用线程取代进程来解决资源有限问题,采用闭环访问策略 或身份认证方式来解决安全性问题。通过分析目前常见的嵌入式w 曲服务器的设 计方法,给出了提高服务器系统性能的措施。通过对嵌入式数据库s q l i t e 的分析 研究,实现了嵌入式数据库在嵌入式w 曲中的应用,并提出了一个基于删的 嵌入式w 曲服务器内嵌一个小型数据库管理系统的设计方案,利用c g i 实现了 嵌入式w e b 服务器与用户的动态交互并成功的将嵌入式w 曲应用到嵌入式门禁 系统中。 测试表明,利用嵌入式w 曲以及数据库技术能够满足嵌入式门禁系统的远程 维护的要求。 关键词:嵌入式w e b 技术 s q l i t e c g i 门禁系统 a b s n a c t a b s t r a c t w i t l lm er a p i di l n p r o v i l l go fe m b e d d e dt e c l l l l o l o g ) ,i i lt h ep e 面m a l l c ea i l d f i l n c t i o i l ,w e bt e c l l i l o l o g yh 粥b e c o m eak e yt e c l l i l o l o g yi n l e 锄b c d d e da p p l i c a t i o n f i e i d ,s oi ti so fg r e a ta p p l i c a t i v ev a l u et os t u d yo nt h er e a l i z a t i o nt e c l l l l o l o g yo fw e b t e c l l i l o l o g yi ne m b e d d e ds y s t e m 1 1 l i sp 印e rp u tf - o 州a r ds o m es o l u t i o i l sf o f 吐l ep r o b l e m sd u r i n gt l l ee m b e d d e d w 曲s e r v e rd e s i 舢s u c h 嬲r e p l a c i i 培t 1 1 r e a dt op f o c e s st os 0 1 v et h er e s o l l r c e sp r o b l e m , a i l dl l s i n gc l o s e l o o pa c c e s s 珩a t e g ya n di d e n t 毋a u t h e n t i c a t i o nt e c h n o l o g yt os o l v et h e s e c 面t yp r o b l e m s o m em e t l l o d sa r ep r o p o s e db ya n a l y z i n gt h ed e s i g l l i n gm e t h o do f t 1 1 ee m b e d d e dw 曲s e r v e ra v a i l a b l e ,w h i c hi m p m v et h e n ,e r sp e r f o m a i l c e n u 曲 a 1 1 a l y z i n ga n dr e s e a r c h i n go ne m b e d d e dd a t a b a s es q l i t e ,t h i sp 印e ra c c o m p l i s h e st h e 印p l i c a t i o no fe m b e d d e dd a 协b a s ei l le m b e d d e dw e bs e e r ,a i l dp r o p o s e sad e s i g i l p r o j e c to fe m b e d d e dw e bs e r v e r ,w l l i c hi n c o 巾o r a t e sas m a l ld a _ k 山a s em a i l a g e m e n t s y s t e mb a s e do na r m a n dm e ni ta c l l i e v e sd y n 锄n i ci n t e r a c t i o n 谢t hc l i e n tb yc g i a i l dr e a l i z e st 1 1 e 印p l i c a t i o no fm ee m b e d d e dw e bs e r v e ri nt h e 锄b e d d e da c c e s s c o m r o ls y s t e ms u c c e s s f u l l y t h er e s u ho ft h ee x p e r i m e n t a t i o ns h o w st h a tt h er e q u i r e m e n t so ft h ee m b e d d e d a c c e s sc o n 拓o ls y s t e m sr e 】n o t em a i l l t e n a n c ec a l lb es a t i s f i e db yt i l e 锄b e d d e dw e b a n d 出止山a s et e c l l n o l o g y k e ,w o r 出e m b e d d e dw e bt e c h n o j o g , s q l i t ec g ia c c 邪sc o n t r o | s y s t e m 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:搁本人签名:丝鱼鲫 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:蕉趟 导师签名:痊d ! 垂 日期对j 第一章绪论 第一章绪论 随着计算机技术的迅速发展以及互联网应用的普及,越来越多的信息化产品 需要通过w 曲页面接入互联网对其进行远程控制和访问。嵌入式技术与h t e m e t 的结 合成为嵌入式发展的一个趋势,由于i n t e m e t 技术的渗透,嵌入式系统变得越来越 智能化并具有越来越多的网络友好特性,嵌入式系统以p c 机不可比拟的软、硬件 可裁剪,结构灵活性、稳定性和经济性成为计算机工业的新的增长点。与此同时, 数字化设备的开发使得i m e m e t 进一步扩展,基于开放的、标准的、独立于系统平 台的t c p i p 通信协议的w c b 技术得到更广泛的应用和普及。 1 1 课题背景以及研究意义 嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可裁减,适 应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统1 1 j 。它 一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等 四个部分组成。它具有“嵌入性”、“专用性”与“计算机系统”三个基本要素【2 j 。 在当今数字信息技术、网络技术迅速发展的时代,嵌入式系统已经无处不在,并 将不断涌现出新的嵌入式系统产品。网络在人们生活中的应用也越来越广泛,在 嵌入式系统中使用网络系统自然也成为一项最基本的要求。因而,将w e b 技术应用 到嵌入式系统中,对嵌入式系统产品的开发具有重大意义。 在现代工业生产中,需要对一些仪器设备进行远程实时监控、诊断、测试、 管理维护以及数据采集等,但在传统的监测方式下需要耗费巨大的人力物力,同 时在一些工作条件恶劣或有一定危险的工作环境下,传统的监测方式也变得越来 越不适应现代大工业生产的需要,并且效率也不高。利用嵌入式w 曲服务器我们可 以实现对工业设备的远程维护和数据实时采集等,这样可以使工作人员远离工作 环境,并且利用软件的实现,可以很快的根据当前数据参数来判断设备的状态并 将采集到的数据迅速回传,这样,不但降低了成本还极大地提高了监控的可靠性 和工业生产的效率。 嵌入式w e b 服务器主要具有以下优点: ( 1 ) 统一的客户界面:客户端只需要一个通用的浏览器,解决了统一用户界 面的问题。( 2 ) 平台独立性:浏览器所运行的平台与嵌入式w e b 服务器所在的平 台无关,真正实现了跨平台。( 3 ) 高可扩展性:服务器端可以在任何需要的时候 进行功能的增强与扩展,而且管理员通过客户端即可完成这些操作,实现了远程 管理和控制。( 4 ) 并行性与分布性:嵌入式w e b 不仅实现了跨平台,也是一个多 处理机系统和分布式系统,可并发的处理多个不同用户的服务请求。 互联网技术的大力发展推动了电子产品的网络化,对安防系统也提出了智能 2 嵌入式w 曲技术应用研究 化、网络化的要求,因此,如何将w e b 技术应用到安防系统中,克服原有的不足, 推动安防产品的智能化、网络化,将具有十分重要的意义。 本课题即来源于一个工业控制项目,在嵌入式门禁系统中需要对门禁控制器 进行远程维护和控制,本课题主要就是去解决这个问题,主要实现目标如下:实 现一个内嵌嵌入式数据库的w e b 服务器的嵌入式系统,用它来对门禁控制器进行管 理,系统管理员可以通过h l t e m e t 远程访问w e b 服务器来实现对被控设备的管理和 监控。这样不但管理高效而且界面友好,大大降低了软件系统和通信系统的设计、 维护工作量,降低了工作人员的劳动强度,提高了现场测试和控制设备的管理水 平。 1 2 国内外研究现状及前景 在嵌入式w e b 服务器的应用中,多数都与数据处理密不可分,在嵌入式门禁系 统中同样需要对大量的数据进行处理和管理,而对数据的处理通常可采取两种方 式,一种是基于文件方式,另一种是基于数据库方式【3 】。对于文件方式,由用户直 接对记录所在的文件进行操作,i o 开销较大,同时由于应用程序是以独占方式打 开数据文件的,因此,数据的共享性和应用软件的可重用性差,影响了系统的整 体性能;对于数据库方式,由于数据和程序相互独立,通过事务来进行调度与并 发控制,可有效地对数据进行存取、查询等共享操作,同时借助于数据库所具有 的安全性检验、完整性检查等多种安全措施,可确保系统具有较好的整体性能。 1 2 1 嵌入式w e b 服务器的发展现状及趋势 随着互连网的日益普及,嵌入式系统与i m e m e t 的结合越来越紧密,通过嵌入 式w e b 服务器共享以微控制器为核心的嵌入式系统的信息成为当今业界研究和应 用的热门课题。 嵌入式w e b 服务器的实现方法可以分为自主实现和修改移植两种。一般在设计 嵌入式w e b 服务器的时候需要考虑资源有限、安全性、可靠性和可移植性方面的问 题。修改移植的方法比较简单,目前有很多种适合于嵌入式系统的w e b 服务器,我 们可以根据实际需要选择采用那种方式,但是修改移植的服务器功能有限,对于 某些特定的嵌入式系统的应用场合,有些功能需要自己根据实际需求进行扩展。 嵌入式w e b 服务器中各种脚本文件的解析实现也是一个很重要的问题。为了支 持目前广泛流行于p c 体系结构中给广大开发者提供快速开发功能的p h p ,j s p ,a s p 等脚本语言,但脚本语言的实现需要巨大的系统开销,服务器还只能在较强的硬 件平台上运行。由于嵌入式系统本身资源有限的特点,如何对嵌入式t c p i p 协议 进行剪裁以及如何实现嵌入式w e b 服务器与浏览器的交互,就成了自主实现嵌入式 第一章绪论 w e b 服务器的一个技术问题。 根据本项目中的实际需求,我们主要是通过嵌入式w e b 实现对数据库的远程操 作,所以我们采用移植修改的实现方法,并对所移植嵌入式w e b 服务器进行了功能 扩展,达到了实际需求。由于此次对动态网页的应用也不是很多,服务器和用户 之间的交互我们采用系统资源消耗相对较少,已成为动态w e b 标准的c g i 技术1 4 j , 并已经在项目中得到了很好的运用。 嵌入式w e b 技术有着广阔的应用前景,其应用领域可以包括工业测控、信息家 电、环境监测等等。利用嵌入式w e b 技术对传统设备进行改造、更新换代或生产具 有新概念的信息产品,将会产生巨大的经济效益,并推动社会的信息化进程。 1 2 2 嵌入式数据库的发展现状及趋势 随着嵌入式技术的飞速发展,嵌入式数据库技术在应用领域也得到了广泛的 发展,各种嵌入式移动数据库产品纷纷涌现。对移动数据处理和管理需求也得到 了不断的提高,跟各种智能设备紧密结合的嵌入式移动数据库技术已经得到了学 术界、工业界、军事领域、民用部门等各方面的重视。 目前,嵌入式数据库的开发成为国内外嵌入式系统开发中的一个热点问题, 随着嵌入式设备硬件处理能力的越来越强,人们对数据处理和存储的要求也越来 越高,而数据库作为一个有效的工具,可以大幅度的提高嵌入式设备的工作效率 和工作能力。目前国内外在嵌入式数据库的实现上有两种方案,一种对现有的p c 体系结构中的数据库进行修改裁减并移植到嵌入式操作系统中,使其满足嵌入式 系统中的应用。另一种就是从头开发,根据数据库理论并结合嵌入式设备的特点 来实现适合嵌入式操作系统的数据库系统。而在本课题中,由于目前数据存储的 流量并不是很大,对数据管理的要求也不是很高,所以采用移植现有嵌入式数据 库的方式。 从长远的发展来看,嵌入式数据库有着广阔的发展前景。随着计算机硬件技 术的飞速发展,智能设备的应用越来越广泛。越来越多的智能设备和嵌入式系统 中出现嵌入式数据库的身影。伴随着移动计算环境的形成和发展,嵌入式移动数 据库技术将使数据库技术更加客户化和平民化。此外,智能卡市场的飞速发展, 也给嵌入式数据库提供了一个新的应用领域。同时,很多嵌入式数据库在性能上 也优于其它数据库,所以在高性能的应用上也常见嵌入式数据库的身影。在未来 的军事、航空、国土资源管理、移动医疗等领域嵌入式数据库系统也将占据主导 作用,嵌入式数据库技术将渗透到未来生活的各个方面。 4 嵌入式w 曲技术应用研究 1 3 本文研究内容 嵌入式w e b 技术是近几年随着计算机网络技术的普及而发展起来的一项新兴 概念和技术,它通过为现有嵌入式系统增加i n t 锄e t 接入能力来扩展其功能。研究 如何构造一个安全、稳定、高效的嵌入式远程控制系统,对改造传统产业、实现 工业现代化、促进产业信息化有重要意义。 本文通过分析研究目前的嵌入式w e b 技术及实现关键问题,针对嵌入式门禁系 统应用中的实际需要,提出了一个对嵌入式门禁控制器进行远程控制和维护的方 案。从技术发展的角度,对传统w e b 服务器和嵌入式w e b 服务器进行比较分析,给 出实现难点的可能解决方案。通过c g i 编程、嵌入式数据库s o l i t e 以及嵌入式w e b 服务器的应用,成功的实现了对嵌入式门禁控制器的远程控制和维护。 本文共分为5 章,其内容组织如下: 第一章:绪论。主要阐述了本课题的研究背景,主要介绍了研究的意义,分 析了相关技术及发展现状。 第二章:嵌入式w e b 技术。主要分析了实现w 曲的关键技术,给出了实现嵌入 式w e b 服务器关键问题的解决方法,并给出了w e b 服务器性能优化的措施,详细论 述了c g i 技术及目前保证w e b 安全的主要技术。 第三章:嵌入式w e b 及s q l i t e 数据库技术。主要阐述了w e b 中数据库的应用技 术、编程要点,分析了嵌入式数据库s q l i t e 的特点及应用,研究了嵌入式数据库在 嵌入式w e b 中的使用方法,最后实现了嵌入式数据库s q l i t e 在嵌入式w e b 中的应 用。 第四章:嵌入式、b 在嵌入式门禁系统中的实现。主要分析了嵌入式w e b 服务 器的原理及性能,提出了一个嵌入式w e b 在门禁系统中的使用方案,通过对服务器 功能的扩展实现了嵌入式w e b 与s q l i t e 在嵌入式门禁系统中的应用。 第五章:测试。对嵌入式w e b 在门禁系统中应用的功能进行了测试,主要测试 了通过浏览器对数据库所进行的远程管理,提出了一个测试方案,并对测试结果 进行了分析,结果表明在嵌入式w e b 中采用嵌入式数据库极大的丰富了嵌入式w e b 服务器的功能,提高了系统的开发效率和系统的可移植性。 最后是总结与展望。对本论文的工作做了概括性的总结,并对下一步的工作 进行了展望。 第二章嵌入式w 曲技术 第二章嵌入式w e b 技术 w w w 是、r dw i d ew e b 的缩写,亦称w e b 。是一种基于t c p i p 协议的网络信 息服务。i n t e m e t 是连接全球计算机网络的网络,用来实现全球计算机的资源共享。 i n t e m e t 和w e b 是两个不同的概念,i n t e m e t 是w e b 的基础平台,w e b 是i n t e n l e t 平台 上的一种应用层服务。它使得计算机用户能够定位和阅读到来自世界各个角落的 文本、图形、动画、音频和视频等信息资源。这些资源可以通过超链接连接起来, 在逻辑上形成一个遍布全球的巨大的“信息网络”。 2 1w e b 的支撑技术 w w w 设计中引入了三个重要的概念,即统一资源定位符( u n i f o r n lr e s o u r c e l o c a t o r ,简记为u r l ) 、超文本传输协议( h y p e r t e x t t r a n s f e rp m t o c o l ,简记为 r r r p ) ,超文本标记语言( h y p e r t e x tm a r k 叩l a n g u a g e ,简记为h t m l ) p j 。它 们是、e b 三个最为重要的基础环节,是w e b 的支撑技术。网络服务器使用h r r p 与 测览器或者其他客户进行通信,h r r p 协议主要是用来进行标准化请求传送和处理 的方法,这样就使得各客户端在与不同的服务器之间通信时不存在兼容性的问题。 u i u 是对i n t e m e t 上信息资源进行命名和定位的一种标准机制。在i r l t e m e t 上, 信息资源可能分布在任何地方,为了在广阔的i n t e m e t 世界找到所需的信息,组成 万维网的网页必须有唯一的地址,网页的唯一标识符叫做统一资源定位符( u r l ) 。 该标识符应该包含一些信息以指出如何访问相应的资源。一个标准的u r l 由3 部分 组成:协议名、主机名和文件名。 u r l 的格式为: p r o t o c o l 】:,【m a c h i n e :p o n 】 pa _ t h 】 n a m e 】 u r l 的第一部分指明了检索指定文档所使用的传输通信协议的类型。第二部 分标识要检索的文档驻留在那个主机上,这部分地址也称为域名。第三部分表示 请求资源的路径,文件名总是出现在u r l 的最后部分。 对w e b 来说,p r o t o c o l 就是h 1 v r p 协议。p o r t 在缺省的情况下为8 0 。如果客户访 问的是w e b 服务器的动态页面,即页面的内容由w e b 服务器的应用程序动态生成, 此时,文件名称( n 锄e ) 包含两个部分的内容:该应用程序的文件名称,以及传 递给该应用程序的参数列表( 有时参数可以省略) ,二者之间用“? ”分割。 h t m l 是h y p e r t e x tm a r k u pl a l l g u a g e 的缩写,称为超文本标记语言,是s g m l 6 嵌入式w 曲技术应用研究 ( s t a i l d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 的一种应用。它是 一些特殊标识符的集合,用来告诉w e b 浏览器怎样显示信息,并控制信息的显示。 h t m l 最初的作用在于信息发布,并没有在网络上应用。由于它还具有容易使用的 特点,于是很自然的成为网络上发布信息的最佳语言。 h l 通过u r l 语法,可以描述跨越i n t e m e t 节点的超级链接,简单而实用的 实现了以整个h l t e r n e t 空间为操作背景的超文本超媒体的数据存取。h t m l 的应用 相当广泛,它可用于描述超文本化的新闻、邮件及文档;超媒体文档;操作菜单; 数据库查询结果;嵌入图形化结构文档等。 自1 9 9 0 年起,h l 作为w e b 的支撑协议之一,在i n t e m e t 中得以广泛的应用, 影响面很大。为此i e 专门指定了h 删l 规范,此规范仍在不断的完善与更新, 已从h t m l l o 发展为h l 4 0 ,描述能力大大增强。 1 、h l 的基本功能 h 删l 是在w c b 上采用超文本方式来描述信息资源内容的一种语言规范,解决 w e b 上信息资源的表示和展现。h t m l 的功能主要体现在“发布信息”和“开展网 上应用”两个方面。 2 、h l 的特点 作为w e b 上能够普遍理解的资源描述语言,h 刑l 主要有以下特点【6 】: ( 1 ) 通用性。作为i n t e m e t 上的共同语言和通用的信息描述方式,它把分布广 泛的不同类型的信息资源连接在一起,为所有的信息系统提供了一个公开窗口。 ( 2 ) 简易性。h 刑l 文档制作简单也是w w w 迅速发展的主要原因之一。其 版本升级采用超集的方法使得其功能更加灵活复杂的同时继续保持简易的特点。 ( 3 ) 可扩展性。h t m l 设计考虑了逐步升级的因素,为系统扩展带来了保证。 ( 4 ) 与平台无关性。h t m l 可以使用在非常广泛的平台上,h 刑l 文档可运 行在w i n d o w s 、u n 等平台上的任何一种浏览器解释执行。 ( 5 ) 支持多种方式创建h t m l 文档。 h l 文档是纯文本的a s c i i 代码,任何文本文档编辑器都可以用来创建 h 1 m l 文档。 h n 他不同于c 语言等编译语言,它是在普通文本中加入一些标识符,生成超 文本文档而达到一定的显示效果和功能效果。完整的h t m l 标记是由标记符号、标 记属性及内容注释等组成的。 h t m l 文件通常由三部分组成:版本信息、头部( h e a d ) 和文件主体( b o d y ) 。 版本信息在 声明中说明,头部部分主要用于定义页面的标题,主体 部分定义页面的内容,主体是h t m l 文件的主要部分与核心内容,它包括文件所有 的实际内容与绝大部分的标记符号。网页结构的总体框架如下: 第二章嵌入式w 曲技术 7 头部标记、属性及其内容 q h e a d 主体标记、属性及其内容 勺,b o d y 2 1 3h t t p 协议 h r ”协议即超文本传输协议,它是w w w 的基础。是互联网上应用最为广泛 的一种网络传输协议,所有的w w w 文件都必须遵守这个标准。该协议主要从 w w w 服务器传输超文本到本地浏览器,这就是在浏览器中看到的网页地址大部分 是以h t t p :,”开头的原因。 h t t p 在r f c 2 0 6 8 中的定义为【5 】:超文本传输协议( h r r p ) 是一个应用级协议, 用于分布式、协作式的超媒体信息系统中。它是一个通用的、无国界的、面向对 象的协议。该协议可以用于很多任务中,如名字服务器和分布式对象管理系统等。 h r r p 作为w e b 的支撑协议始于1 9 9 0 年。经过十来年的应用,h r r p 得以不断的 完善与扩展,从最初的h r r p o 9 版本发展到目前比较稳定的h r r p 1 1 版本。 1 、h r r p 协议的主要特点如下【7 】: ( 1 ) 支持客户服务器模式。 ( 2 ) 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。 ( 3 ) 灵活:h r r p 允许传输任意类型的数据对象。正在传输的类型由 c o n t e n t - t y p e 加以标记。 ( 4 ) 无连接:无连接的含义指的是限制每次连接只处理一个请求。服务器处 理完客户的请求,在收到客户的应答后,即断开连接。 ( 5 ) 无状态:无状态是指服务器向客户发送被请求的文件时不存储任何有关 客户的状态信息。缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样可能导致每次连接传送的数据量增大。另一方面,如果服务器不需要先前信 息则它的应答就比较快。 2 、h t t p 的工作过程 h r r p 采用请求响应的握手方式。其工作的基本过程是【7 】:建立连接、发出请 求、进行响应和结束连接。另外,在h t t p 1 1 版本中提出了连接保持( k e e p - a l i v e ) 的概念,即服务器在服务完一个请求之后,并不立即关闭连接,而是在服务了一 嵌入式w 曲技术应用研究 定数量的客户请求或在客户明确提出关闭连接指令之后关闭连接。h r r p 的工作过 程如图2 1 所示。 圆 客户 图2 1h r r p 工作过程 ( 1 ) 建立连接 连接的建立是通过申请套接字实现的。客户打开一个套接字并把它约束在一 个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件 上进行读写。 ( 2 ) 发出请求 打开一个连接后,客户机把请求消息送到服务器的连接端口上,请求方式为: 统一资源标识符( u r l ) 、协议版本号、后边是m i m e 信息( 包括请求修饰符、客 户端信息和可能的内容) 。这个端口一般是8 0 ,完成提出请求动作。 ( 3 ) 进行响应 服务器处理完客户的请求之后,向客户机发送带有数据的h 1 v r p 响应消息。 ( 4 ) 结束连接 客户和服务器双方都可以通过关闭套接字来结束对话,一般情况下服务器发 送完客户端请求的文件后会主动关闭套接字。 3 、h t t p 请求 h 1 v r p 本质上是一个简单的文本协议。请求的格式如下【8 l : r e q u e s t = r e q u e s t - l i n e + ( ( g e n e r a l - h e a d e r l r e q u e s t - h e a d e r i e n t i t y h e a d e r ) ) c r l f m e s s a g e 勘d y 】 请求的第一行指明请求的方法、要使用的资源和协议,接下来几行是报头。 这几行包含一些关键字和数据,该关键字用来指示报头的类型是普通报头还是请 求报头,或者实体报头。紧接着报头数据之后是一个空行,然后是可能的请求部 分( 实体) 。 下面介绍各种请求的方法: ( 1 ) g e t :g e t 请求是请求一个资源,不是静态资源( 固定网页或图片文件) 就是动态生成的资源( 此时u 砌指定生成该资源的脚本或程序) 。 ( 2 ) h e a d :h e a d 请求类似于g e t 请求,但服务器程序只返回指定文档的 差 第二章嵌入式w 曲技术 9 首部信息,而不包含实际的文档内容。该请求通常被用来测试超文本链接的正确 性、可访问性和最近的修改。 ( 3 ) p o s t :p o s t 请求允许客户端提交在服务器上处理的数据。这些数据构 成了消息的正文。u r j 标识处理脚本或程序。所有被提交的数据或其中一部分都用 来更新数据库表,或者添加在一个公告牌上,或者被存放在一个文件中。这是唯 一需要在请求中发送b o d y 的请求。使用p o s t 请求时需要在报文首部c o m e n t - l e n g t l l 字段中指出b o d y 的长度。 4 、h r r p 响应 h 丁r p 消息响应的格式如下: r c s p o n s e = s t a n j s - l i n e + ( ( g e n e r a l - h e a d e rr e s p o n s e h e a d e r | e n t i 铲h e a d e r ) c r j 。f ) c r l f 【m e s s a g e b o d y 】 上述格式说明,响应有一个状态行,随后是几个报头,一个空行和可选的消 息正文。状态行指明了h t t p 协议的版本、状态码和简短描述。 状态码一共有5 组: 1 ) 【) 【:请求收到,继续处理。 2 ) 【) 【:“成功”。 3 ) ( ) 【:需要进一步的行动。 4 x x :客户端错误。 5 ) ( ) 【:服务器失败。 w e b 应用程序最常用到的响应代码是: 2 0 0 ;o k 成功的响应代码: 4 0 1 ;u n a u _ c l l o r i z e d ( 未经授权) :在用户被授权访问受控的资源之前需要用 户指定用户名和密码。 5 0 0 :i n t e m a ls e n r e re 唧:服务器端脚本和程序有错误。 2 2 嵌入式w e b 服务器设计 2 2 1 嵌入式w e b 服务器概述 嵌入式w e b 服务器( e w s e m b e d d e dw e bs e n r e r ) 是指将w e b 服务器引入到现 场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和 控制设备转变为具备了以t c p i p 为底层通信协议,w e b 技术为核心的基于互联网的 网络测试和控制设型9 】1 10 1 。实现嵌入式w e b 服务器的关键技术主要有h t t p 协议和 通用网关接口c g i 。嵌入式w e b 服务器的原理与通用服务器的类似,浏览器通过 1 0 嵌入式w 曲技术应用研究 h r r p 协议与嵌入式服务器交互,服务器内部通过动态网页技术实现与嵌入式系统 的信息交互。 嵌入式w e b 服务器工作过程如下【1 1 】:服务器端软件的守护程序始终在h t t p 端 口8 0 守候客户的连接请求,当客户端向服务器发起一个连接请求后,客户和服务 器之间建立起连接。守护程序在接收到客户端h t t p 请求消息后,对其进行解析。 如果客户请求的是静态文件,那么守护任务程序读取相应的文件作为h t l 、p 响应消 息中的实体返回给客户端,客户端浏览器通过解码读取相应的内容并显示出来。 如果客户端的请求是c g i 应用程序,那么服务器将创建相应的c g i 应用程序进程, 并将各种信息按c g i 标准规范传递给c g i 应用程序进程,接着由此c g i 进程接管对 服务器需完成的相关操作的控制。 嵌入式w e b 服务器的软件系统一般包括五个部分:h 1 v r p 引擎、虚拟文件系统、 配置模块、安全模块、应用程序接口模块。嵌入式w e b 服务器的核心部分包括h 1 v r p 请求分析引擎和模块分析器。h t t p 请求分析引擎负责接收客户端发来的h r r p 请 求报文,获得客户端信息,并把解析出的信息保存到请求结构中,后续处理模块 都从该结构中获得请求报文的相关信息【】2 】;虚拟文件系统为嵌入式w e b 服务器提 供虚拟文件服务,配置模块使系统管理员可以从任何一台标准的w e b 浏览器上设置 嵌入式w e b 服务器参数,安全模块通过在服务器上定义安全域并对其内安全信息进 行保护,应用程序接口模块实现和嵌入式应用系统的数据交换。典型的嵌入式w e b 服务器系统模型如图2 2 所示。 图2 2 嵌入式w 曲服务器系统模型 嵌入式w e b 服务器与通用w e b 服务器相比,存在以下几个方面的差别【1 2 】: ( 1 ) 两者运行的目标环境不一样。通用w e b 服务器一般运行在资源和内存都 比较丰富的台式机上,而嵌入式w e b 服务器运行的目标系统一般是各类专用设备, 资源比较匮乏。 第二章嵌入式w 曲技术 ( 2 ) 两者在各自系统中的作用也不一样。通用w e b 服务器主要是利用w e b 服 务器向用户提供信息服务,而嵌入式w e b 服务器嵌入在设备中,主要作用是控制和 配置设备,并向用户提供设备运行信息。 ( 3 ) 两者运行的优先级不一样。嵌入式w e b 服务器作为一种监控、管理手段 存在,它不能干涉设备的主要运行任务。 针对上面嵌入式w e b 服务器与通用w e b 服务器的不同,设计嵌入式w e b 服务器 时追求的性能指标也不一样。对于嵌入式w e b 服务器来说,吞吐量不需要很大,而 系统响应时间很小,因为嵌入式w e b 服务器面向的用户是少量的设备管理人员,实 现的是监控与管理的功能。因而,一个好的w e b 服务器应该具备良好的可移植性、 可裁减性以及和目标设备的良好的兼容性。 2 2 2 实现嵌入式w e b 服务器的关键问题 嵌入式w e b 服务器不同于一般w e b 服务器。设计和实现一个嵌入式w e b 系统, 首先,要满足该系统是一个嵌入式系统,其硬件可以嵌入到一个传统的或数字的 电器设备中;其次,必须是一个w e b 系统,用户与系统的交互相当于访问一个网站 一样方便,不需特别的客户端软件。嵌入式w e b 服务器由h t t p 服务器和瘦t c p ,i p 协议栈两个主要功能模块成。远程监控系统的实质就是将设备信号转换为符合 t c p i p 协议的网络信号,使用户可以通过局域网或者i i l t e r n e t 终端就可以访问嵌入 式设备,并对其进行远程监视和控制。 就嵌入式w e b 开发的实现过程来说,和g o s ( g e n e r a lo p e r a t i o ns y s t e m ) 下进行 w e b 开发相似,在t c p 仰协议栈下进行基于s o c k e t 的h r r p 实现和c g i 的应用开发。 常用的s o c k e t 类型有两种:流式和数据报式。s o c k e t 工作原理如下1 1 3 】: 服务器端工作流程如下: ( 1 ) 创建一个s o c k e t ; ( 2 ) 将该s o c k e t 与本机地址和端口号捆绑( b i n d ) ; ( 3 ) 在监听端口上监听( 1 i s t e n ) 客户机的连接请求; ( 4 ) 当a c c e p t 捕捉到一个连接请求时,就建立连接并返回一个新的通信文件 描述符; ( 5 ) 父进程创建一个子进程,父进程关闭通信文件描述符并继续监听端口上 其它客户机的连接请求; ( 6 ) 子进程通过通信文件描述符与客户机进行通信,通信结束后终止子进程 并关闭通信文件描述符。 客户机端: ( 1 ) 创建一个s o c k c t ; 嵌入式w 曲技术应用研究 ( 2 ) 向指定的服务器发出连接请求,成功将返回通信文件描述符; ( 3 ) 调用c o 肋e c t 函数与服务器建立连接; ( 4 ) 连接成功之后与服务器进行通信; ( 5 ) 通信完毕后关闭通信文件描述符。 设计嵌入式w e b 服务器首先需要选择一个合适的嵌入式微处理器和嵌入式操 作系统,还必须注意以下关键问题。 1 、资源问题【1 4 j 一个嵌入式w e b 服务器必须合理分配系统资源,包括c p u 的计算资源和系统的 存储空间资源。可以通过减少客户端并发连接数以降低对系统计算资源的占用, 并且其进程要尽可能少的占用c p u 资源,使用线程代替进程。尽可能减小软件代 码量来尽可能少的占用存储空间。由于嵌入式硬件上处理资源和实时性要求的限 制,其t c p 佃协议的实现与在通常的计算机上实现是有差别的,要求占用存储空 间尽可能的小,处理速度足够快,因此对于本身没有实现t c p i p 协议栈的操作系 统来说一般都通过裁剪或移植一个轻量级的t c m p 协议栈来实现。实现t c p i p 协 议栈主要有以下途径【1 5 】:( 1 ) 购买商业化的协议栈;( 2 ) 使用免费的协议栈( 如 1 w i p ,u i p 等) ;( 3 ) 自己设计协议栈。嵌入式w e b 服务器中实现t c p i p 协议,通 常只需实现a r p 、i c m p 、i p 、u d p 厂r c p 、h t t p 协议。采用自主设计主要缺点一是 工作量比较大,另一个问题就是软件系统的可移植性比较差。 嵌入式w e b 服务器肯定要实现h t t p 协议。标准的h t l p 消息对于嵌入式w e b 服务器来说不需要全部实现,需要对标准的h r r p 消息进行精简。对请求消息精简、 响应消息精简以及实体的精简。 2 、安全性问题 在嵌入式w e b 服务器技术应用方面安全性也是一个很重要的概念,特别是在那 些包含设备参数设置和管理的应用中。一个很有必要的做法就是设置权限来限制 某些用户访问某些特定的资源信息。为了增强浏览器访问w e b 服务器的安全性,我 们也可以采用s s l 协议来保证浏览器和w e b 服务器间连接的安全。 目前可能的安全策略有【16 】: ( 1 ) 闭环网络访问策略:把网络访问范围局限在e t 范围内,通过网内的 任意p c 机上的浏览器就可以在网络进行远程监视、诊断、甚至实现远程控制和参 数设置。 ( 2 ) 身份认证策略:通过身份认证的合法用户才具有相应的操作权限。 ( 3 ) 只读访问策略:将那些关键信息和敏感信息标记为只读特性,特别是那 些从h 1 廿a i l e t 范围外的i p 地址来的访问请求。这样用户可以在任意地方查看嵌入式 系统的状况,出现问题可以及时采取补救措施。 ( 4 ) 密码和防火墙策略:如果希望实现任意地点的用户对嵌入式系统的控制 第二章嵌入式w 曲技术 和参数设定,则必须将防火墙技术引入到i n t 跚e t 的网关中,必要时还须将其集成 到嵌入式w e b 服务器中,根据规则过滤掉外部的数据流。同时所有传送的数据必须 加密,访问所有可能受到攻击的点都必须通过口令验证。 3 、高可靠性和可移植性问题【1 7 】 作为嵌入式网络设备的一个重要组成部分,嵌入式w e b 服务器必须具有高可靠 性,来保证整个系统的稳定。而要在各种嵌入式设备上面更好的运行它还必须具 备良好的移植性,我们可以选择移植性比较好的语言进行设计开发。 基于以上种种考虑,嵌入式w e b 服务器必须能在嵌入式系统的条件制约下,满 足管理和嵌入式系统的需要,因此它应该实现h n p 1 1 协议的标准功能,实现h 1 v r p 认证协议中的相关内容,并实现对通用网关接口c g i 的支持。 2 ,2 3 嵌入式w e b 服务器的性能优化 在嵌入式w e b 服务器的设计方法中,多进程并发结构为了响应客户机的请求创 建多个进程,而创建子进程会占用系统较多的资源。多路复用优i 模型解决了多进 程并发结构中创建子进程带来的资源问题但有可能使有的客户等待很久,多线程 并发结构的代价很小,但另一方面由于线程间共享内存,增加了编程的复杂性。 针对嵌入式w e b 服务器采用我们可以通过采用以下措施来提高系统性能: ( 1 ) 采用线程取代进程。 由于线程占用的资源比进程少,这就可以减少对资源的需求,而且线程的启 动也比进程启动的块,这样可以提高了服务器的性能,使用多线程机制还可以同 时处理客户端的请求,解决并发请求的问题。 ( 2 ) 减小w e b 服务器中请求的生命周期。 请求的生命周期指的是当w e b 服务器收到客户的一个h r r p 请求并发出所请求 的文件之前,w e b 服务器必须执行一系列指令。请求的生命周期直接影响到服务器 的响应时间。所以将系统调用和其他处理开销最小化是十分重要的,可以通过减 少同步访问资源、文件缓存、使用“集中写”操作和预计算h t t p 响应来达到这个 目的。 ( 3 ) 采用瘦服务器、胖客户机的应用模式。 胖客户端模式意味着在应用结构上相当数量的应用逻辑都在客户端执行。不 产生与服务器往返通信的过程,减少了网络通信量、延迟等,减少了w e b 服务器的 负担。 2 3c g i 为达到远程管理和监控设备的目的,必须使客户机能同本地系统进行交互, 1 4 嵌入式w 曲技术应用研究 这种交互可以使用很多种方法来实现,如s s i ,j a v as e l e t 等,但目前最适合嵌入 式系统的是通用网关接口c g i 。对于在嵌入式环境下运行的w e b 服务器没有足够的 空间运行p h p ,j s p ,a s p 等脚本的解释器模块,同时由于嵌入式w e b 服务器一般 都是用来控制设备的,所以用底层语言开发更为合适,而c g i 脚本对于语言没有限 制,可以选择任何适合的语言。 c g i 是通用网关接口( c o i i l i n o n g a t e 啪y i n t e r e ) 的缩写。它是w e b 服务器 主机与外部扩展应用程序交互的一种标准接口【1 8 】。它提供了将参数传递给程序并 将结果返回给浏览器的一种机制。w e b 服务器可以通过c g i 读取客户端所需要的动 态信息( 如数据库) 。通过c g i 可以提供静态h l 网页无法实现的一些功能,比 如基于w 曲的搜索引擎、基于

温馨提示

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

评论

0/150

提交评论