一种嵌入式web服务器的制作方法

文档序号:6341326阅读:353来源:国知局
专利名称:一种嵌入式web服务器的制作方法
技术领域
本发明涉及一种嵌入式web服务器,属于嵌入式技术领域。
背景技术
随着互联网的快速发展,web技术广泛地应用于我们的生活中,我们每天浏览互联 网,每一次点击页面,都是web服务器在幕后为我们提供相应的服务。当前市场上比较常用的web服务器软件有微软的iis,tomcat的apach,jetty等, 但都是针对桌面系统,特点是功能强大,支持标准的脚本语言,相应的对软硬件的资源要求 也比较高,启动速度慢。近年来,随着嵌入式系统的快速发展,以及web技术的广泛应用,对 嵌入式web服务器的需求越来越多,现有的嵌入式web服务技术主要是CGI,这种技术也广 泛应用于桌面系统,其优点是接口控制灵活,技术规范;但其不足之处是对系统软硬件的资 源要求高,需要文件系统的支持,对操作系统及处理器等硬件的依赖性强,不支持简易的操 作系统,应用开发也比较复杂,与嵌入式系统设备追求的低功耗、低成本目标相悖。由于嵌 入式设备的web应用主要是设备监控,交互的内容比较简单,不需要强大的功能,因此需要 一种简易的嵌入式web服务器以满足其具体的特定的需求。

发明内容
本发明的技术解决问题的目的在于提供一种嵌入式web服务器。采用本发明减 少了 web服务器对软硬件资源的过多需求,并降低了对操作系统的依赖性等缺点,更加符 合嵌入式设备低功耗、低成本的要求。本发明的技术解决方案是一种嵌入式web服务器,包括接口模块、存储模块、协议解析模块、文件检索模块 和脚本处理模块;存储模块,用于存储客户端请求的页面文件及页面文件的附属文件;接口模块,用于与客户端进行tcp/ip协议通信,接收时,将客户端发送的http数 据包转发给协议解析模块;发送时,将由协议解析模块传入的http数据包,通过tcp/ip协 议发送给客户端;协议解析模块,接收时,将从接口模块传入的http数据包进行http协议解析,获 得客户端要请求的文件,并将客户端要请求的文件发送给文件检索模块;发送时,将由文件 检索模块或者脚本处理模块传入的http数据文件,以数据包的形式发送给接口模块;文件检索模块,接收协议解析模块传入的客户端要请求的文件,并根据客户端要 请求的文件的文件名对存储模块中的文件进行检索;检索到客户端要请求的文件后,判断 客户端要请求的文件中是否包含自定义脚本数据,如果不包含脚本数据,则将客户端要请 求的文件直接返回给协议解析模块,否则将客户端要请求的文件传送给脚本处理模块;脚本处理模块,对传入的客户端要请求的文件中的脚本数据按照脚本映射表进行 脚本解析,将解析后的客户端要请求的文件返回给协议解析模块。
存储模块按照目录区、数据区的格式进行存储;在数据区中每一个文件都是一条记录,记录格式包括文件头标记、文件最后修改 时间、文件大小、文件名、扩展名、文件数据;在目录区中每一条记录对应于数据区中的一条 数据,记录格式包括目录文件头标记、文件最后修改时间、文件大小、文件名长度、扩展名长 度、文件属性、文件名、扩展名、文件内容索引;所有文件在一个连续的地址空间中存储。所述文件检索模块按照存储模块存储的文件格式进行检索,先检索目录区,然后 根据目录区的文件内容索引到文件数据区中读取文件内容。本发明与现有技术相比具有如下优点(1)插入到html文件中的脚本格式为自定义,根据脚本内容定义脚本映射表,实 现简单,不需要开发者去学习复杂的html脚本编程语言。(2)所有页面文件及其附属文件(图片,ess文件等)的封装格式类似于磁盘文件 系统的格式,但要比磁盘文件系统格式简单,文件检索效率高。(3)外部存储器可支持Flash,EPCS等常用的存储芯片,在内存中进行文件检索及 解析,处理速度非常快。(4)脚本映射表为根据脚本内容自定义的映射表,映射表检索采用折半查找法,脚 本解析效率高。(5)系统仅仅对客户端请求的页面文件及其附属文件(图片,ess文件等)进行存 储及检索,仅仅对html文件中定义的脚本标识进行解析,没有任何多余的处理,所以系统 资源占用少,效率高,启动速度快。(6)系统使用自己定义的文件存储格式进行文件打包存储,并按照自定义格式实 现文件检索,所以系统运行不需要文件系统的支持,不依赖于操作系统,可以运行在一些简 易操作系统上如uc/OS等。(7)本发明在具体实现时,资源占用少,效率高,启动速度快,对硬件的依赖性小; 系统兼容性好,不需要移植即可适用于各种软硬件平台;动态分配软硬件资源,依据实现动 态页面的复杂度来分配软硬件资源。(8)本发明有效地提高了嵌入式系统的软硬件资源利用率,对嵌入式设备的监控 提供了一种方便快捷的方式,大大节省了设备的软硬件资源,降低了成本。


图1为本发明结构示意图;图2为本发明实施例图。
具体实施例方式如图1所示,本发明包括接口模块、存储模块、协议解析模块、文件检索模块和脚 本处理模块。使用前,首先构造使用的html文件及其附属文件,例如ess文件,图片文件等;然 后在需要动态显示的html文件中出入自定义脚本标识,自定义脚本标识以为起始标 识,以% @为结束标识,例如实时显示设备接收点频,则脚本标识可以定义如下@% recv_freq% @
脚本标识定义完成以后,再根据自定义脚本的内容构造脚本映射表,用于对脚本 的含义进行解析。脚本映射表包含脚本标识和脚本内容(初始内容为空),脚本解析处理 模块根据脚本映射表定义的脚本标识动态生成脚本内容,在进行脚本解析时检索脚本映射 表,用脚本内容替换脚本标识,动态生成html文件。在使用时,将使用的http文件及其附属文件(ess文件,图片文件等),按照一定的 格式重新打包成一个文件,通过存储模块将重新打包的文件写入EPCS芯片的某一个连续 的地址空间,作为web服务器的文件系统(以下简称文件系统)。文件重新打包按照“目录
区+ ■据区”的格式进行存储,在_女据区中每一个文件都是一条记录,记录格式如下
组成长度
文件头标记4bytes
文件最后修改日期2bytes
文件最后修改时间2bytes
文件大小4bytes
文件名长度2bytes
扩展名长度2bytes
文件名不定长度
扩展名不定长度
文件数据不定长度
在目录区中每一条记录对应于数据区中的一条数据,记录格式如下
组成长度
目录文件头标记4bytes
文件最后修改日期2bytes
文件最后修改时间2bytes
文件大小4bytes
文件名长度2bytes
扩展名长度2bytes
文件名不定长度
扩展名不定长度
文件内容索引4bytes
如图1、2所示,存储器包括由EPCS芯片实现的外部存储器,和由DDR芯片实现的
内部存储器,在系统启动时,将存储在外部存储器上的文件及其附属文件读到内部存储器 中,这样可大大提高文件的解析和检索速度。接口模块在接收时,将客户端发送的tcp/ip数据包转发给http协议解析模块;在 发送时,将协议解析模块传入的http数据包,通过tcp/ip协议发送给客户端。协议解析模块在接收时,对由接口模块传入的数据包进行http协议解析,获得客 户端的请求文件,并将客户端的请求文件发送给文件检索模块;发送时,将由文件检索模块 或者脚本处理模块传入的http数据文件,以数据包的形式发送给接口模块。文件检索模块在接收协议解析模块传入的客户端请求文件后,根据文件名对存储 在内部存储器中的文件按照存储格式进行文件检索,检索到客户端的请求文件后,判断文件中是否包含自定义脚本数据,如果不包含脚本数据,则将文件直接返回给协议解析模块, 否则将文件传送给脚本处理模块。脚本处理模块对传入的用户请求文件按照脚本映射表进行脚本解析,脚本解析处 理模块根据脚本映射表定义的脚本标识动态生成脚本内容,在进行脚本解析时检索脚本映 射表,用脚本内容替换脚本标识,动态生成html文件,将解析后的文件返回给协议解析模 块。如图1所示,本发明采用的硬件平台主要包括FPGA芯片,EPCS芯片,LAN接口芯片 及DDR芯片组成,系统不需要专门处理器芯片的支持,通在使用FPGA内置软核实现处理芯 片的功能。本发明未详细说明部分属本领域技术人员公知常识。
权利要求
1.一种嵌入式web服务器,其特征在于包括接口模块、存储模块、协议解析模块、文件 检索模块和脚本处理模块;存储模块,用于存储客户端请求的页面文件及页面文件的附属文件;接口模块,用于与客户端进行tcp/ip协议通信,接收时,将客户端发送的http数据包 转发给协议解析模块;发送时,将由协议解析模块传入的http数据包,通过tcp/ip协议发 送给客户端;协议解析模块,接收时,将从接口模块传入的http数据包进行http协议解析,获得客 户端要请求的文件,并将客户端要请求的文件发送给文件检索模块;发送时,将由文件检索 模块或者脚本处理模块传入的http数据文件,以数据包的形式发送给接口模块;文件检索模块,接收协议解析模块传入的客户端要请求的文件,并根据客户端要请求 的文件的文件名对存储模块中的文件进行检索;检索到客户端要请求的文件后,判断客户 端要请求的文件中是否包含自定义脚本数据,如果不包含脚本数据,则将客户端要请求的 文件直接返回给协议解析模块,否则将客户端要请求的文件传送给脚本处理模块;脚本处理模块,对传入的客户端要请求的文件中的脚本数据按照脚本映射表进行脚本 解析,将解析后的客户端要请求的文件返回给协议解析模块。
2.根据权利要求1所述的一种嵌入式web服务器,其特征在于存储模块按照目录区、 数据区的格式进行存储;在数据区中每一个文件都是一条记录,记录格式包括文件头标记、文件最后修改时间、 文件大小、文件名、扩展名、文件数据;在目录区中每一条记录对应于数据区中的一条数据, 记录格式包括目录文件头标记、文件最后修改时间、文件大小、文件名长度、扩展名长度、文 件属性、文件名、扩展名、文件内容索引;所有文件在一个连续的地址空间中存储。
3.根据权利要求1或2所述的一种嵌入式web服务器,其特征在于所述文件检索模 块按照存储模块存储的文件格式进行检索,先检索目录区,然后根据目录区的文件内容索 弓I到文件数据区中读取文件内容。
全文摘要
本发明公开了一种嵌入式web服务器,包括接口模块、存储模块、协议解析模块、文件检索模块和脚本处理模块。采用本发明减少了web服务器对软硬件资源的过多需求,并降低了对操作系统的依赖性等缺点,更加符合嵌入式设备低功耗、低成本的要求。
文档编号G06F17/30GK102075572SQ20101062277
公开日2011年5月25日 申请日期2010年12月29日 优先权日2010年12月29日
发明者王恒彬 申请人:北京遥测技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1