嵌入式Web Server中XML数据发生器的设计与实现.docVIP

嵌入式Web Server中XML数据发生器的设计与实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Web Server中XML数据发生器的设计与实现.doc

嵌入式Web Server中XML数据发生器的设计与实现   摘 要:在嵌入式Web服务器的开发中采用XML技术,可以为嵌入式系统管理提供统一的数据接口,降低系统开发的复杂度,有利于Web服务器的升级和维护。在分析HTTP1.1的基础上,设计出了一种嵌入式Web服务器,重点描述了Web服务器中XML发生器的设计方法。最后结合C语言编程,给出实例验证。   关键词:XML;嵌入式系统;Web服务器;HTTP1.1   中图分类号:TP393.09;TP368.1   在嵌入式环境下,由于软硬件平台的多样性,在一个嵌入式应用中可能会存在多种不同的软硬件平台,而且随着嵌入式系统后续的不断改进和发展,其配置方案及控制接口可能会发生变化。此外,传统的嵌入式系统开发中,数据存储主要采用流式文件,程序对数据结构的依赖性强,不利于软件的升级和维护。在嵌入式系统中采用XML技术进行数据存储和处理可较好地解决上述问题。它可以用统一的接口来管理不同的设备接口及其相关操作,降低嵌入式系统部署、配置和升级的成本,提高了系统开发效率[1]。嵌入式Web服务器是实现嵌入式系统、设备以及应用之间互联的关键组成部分,已经成为目前嵌入式软件中的研究重点。本文将根据所设计的嵌入式Web服务器的方案,提出一种在嵌入式Web服务器中实现XML数据解析的方法,并对XML数据发生器模块进行重点介绍。   1 嵌入式Web服务器的设计   由于嵌入式设备的资源有限,一般来说嵌入式系统都没有文件系统或者TCP/IP协议栈(网络设备一般都有TCP/IP协议栈,但未必有文件系统),嵌入式存储设备和存储空间都非常小,要实现Web服务功能通常都比较困难。因此,针对上述问题,在分析HTTP1.1的基础上,结合嵌入式Web服务器的特点和要求,本文设计出的一种精简的嵌入式Web服务器结构如图1所示[2]。   嵌入式Web服务器建立在安全套接口(Secure Socket Layer)上,HTTP或XML解析模块用于HTTP请求报文分析。如果HTTP 解析模块发现HTTP报文中的有XML消息,则该报文将由XML解析模块来处理;CGI环境变量模块主要用于定义操作系统的环境变量和程序执行环境,可以通过应用程序对这些变量进行存取。CGI函数模块、XML发生器模块以及本引擎模块都可以读取环境变量,并根据这些变量做出相对应的操作[3];CGI函数模块是一个HTTP函数,由HTTP解析模块负责回调[4]。XML数据发生器模块动态生成系统所需要的页面文件信息,用一种统一的、一致的手段来传递原先不统一、不一致的消息格式,增强系统内外部的交互能力,并降低开发成本。同时与系统的脚本引擎模块进行交互,提供统一数据接口。XML数据发生器模块也是本文重点研究的内容[5]。通过设计实现XML数据发生器功能,能够使得嵌入式 Web服务器支持XML数据,使得在不升级软件的情况下能够方便的更新页面内容和业务逻辑,实现嵌入式Web服务中的页面和业务逻辑动态分离的目标。   2 XML概述   2.1 XML的定义   XML即为可扩展的标记语言(eXtensible Markup Language)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。XML并非像HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准。利用这个标准,开发人员可以根据实际需要定义自己的新的标记语言,并为这个标记语言规定它特有的一套标签[6]。   2.2 XML的特点   相对于HTML来说,XML具有先天的优越性。为了自己的浏览器增加一些特殊的显示效果,HTML加入了一些特殊的标记。日益增多的标签不但使得HTML越来越庞大,同时,浏览器的开发越来越复杂,还降低了不同浏览器之间的兼容性。尽管HTML的标签越来越多,其表现了却还远远不够,有了XML就可以自由地制定自己的标记。由于XML是非专有的并易于阅读和编写,就使得它成为在不同的应用间交换数据的理想格式。XML使用的是非专有的格式,不受版权、专利、商业秘密或是其他种类的知识产权的限制。同时,对于人类或是计算机程序来说,XML都容易阅读和编写,因而成为交换语言的首选。   3 创建XML数据发生器   3.1 基本思想   跟CGI函数动态生成HTML文档一样,我们需要创建XML 数据发生器去动态生成XML文档。创建XML 数据发生器的过程与创建CGI函数的过程很类似,XML数据发生器的入口函数相当于CGI主函数,XML数据发生器入口函数同样也要注册到CGI全局变量cgi_entries中,这样在图1所示的Web服务器结构中,HTTP 解析模块发现用户请求XML文件时才能找到此入口,并利用XML数据发生器去动态生成XM

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档