基于Linux 的嵌入式web 服务器访问多平台数据的实现方法技术

技术编号:11326982 阅读:136 留言:0更新日期:2015-04-22 16:40
本发明专利技术提供一种基于Linux的嵌入式web服务器访问多平台数据的实现方法,嵌入式设备调用httpd进程接收数据请求,并通过CGI对数据请求进行解析和分解,获取所请求数据的控制报文类型以及相应的分解数据;根据所请求数据的控制报文类型,确定数据所在平台;判断数据所在平台是否为当前平台;若是,从当前平台上直接获取所要求的数据,并返回给嵌入式设备;若否,访问数据所在平台对应的客户端,客户端再访问对应的服务端,服务端在平台上获取数据,并返回至客户端,客户端将数据返回给嵌入式设备。本发明专利技术的基于Linux的嵌入式web服务器访问多平台数据的实现方法不破坏当前各个平台的架构;实现了web服务器对多个不同平台的数据信息的访问,便于移植,易于维护。

【技术实现步骤摘要】

本专利技术涉及一种web服务器访问平台数据的方法,特别是涉及一种。
技术介绍
在采用Linux作为操作系统的嵌入式设备中,Linux系统提供各个功能模块进程之间及线程之间的通信。如何在Linux环境下实现准确且高效的数据获取成为研发中的重点所在。在嵌入式设备的研发中,为了快速运行设备和提供高效的功能,通常会将多个平台的架构放在同一个设备中运行,而且所采用的数据则分别存储在对应的平台中,各个平台有自己的数据处理机制。因此,在添加web功能时,需要获取各个平台的数据。由于各个平台的数据处理机制不同,且平台不能直接访问平台数据,会出现各个平台处理数据负荷不一致的情况,导致影响了整个设备的运行,如图1所示的情况。另外,现有技术中,嵌入式设备只是通过httpd进程通过解析后访问一个平台的数据,并不能访问多个平台的数据。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种,在实现更好的移植且不破坏当前各个平台的架构的基础上,在Linux系统中通过httpd进程获取多个不同平台的数据,以达到页面访问的目的。为实现上述目的及其他相关目的,本专利技术提供一种,包括以下步骤:步骤S1、当访问嵌入式设备的web页面时,嵌入式设备调用httpd进程接收数据请求,并通过CGI对数据请求进行解析和分解,获取所请求数据的控制报文类型以及相应的分解数据;步骤S2、嵌入式设备根据所请求数据的控制报文类型,确定数据所在平台;判断数据所在平台是否为当前平台;若是,转入步骤S3 ;若否,转入步骤S4 ;步骤S3、从当前平台上直接获取所要求的数据,并返回给嵌入式设备;步骤S4、访问数据所在平台对应的客户端,数据所在平台对应的客户端再访问对应的服务端,对应的服务端在数据所在平台上获取所要求的数据,并返回至数据所在平台对应的客户端,数据所在平台对应的客户端将所要求的数据返回给嵌入式设备。根据上述的,其中:用户端通过设备的浏览器访问嵌入式设备的web页面。根据上述的,其中:获取所请求数据的控制报文类型时,通过页面的名字进行匹配来确定。根据上述的,其中:所述步骤SI中,CGI的处理过程包括如下步骤:CGI接收httpd进程接收到的数据请求;判断数据请求的报文头是否是设置操作;若是设置操作,接收httpd设置数据请求,根据数据请求的页面进行解析,并将页面和数据结构表中的已知数据页面进行匹配;若存在匹配的页面,则将需要设置的功能数据存储于临时缓存中,通过页面索引将页面中所有需要保存的功能数据发送给相应的平台,平台接收数据进行处理,并将处理结果回传;若不存在匹配的页面,则丢弃该数据请求,CGI将结果发送给httpd,再由httpd发送给请求数据的http客户端;若不是设置操作,接收httpd获取数据请求,接收页面数据,根据数据请求的页面进行解析,并将页面和数据结构表中的已知数据页面进行匹配;若存在匹配的页面,则通过页面索引从所在的平台中获取页面需要的所有数据,将获取的数据存储于临时缓存中,解析页面中需要的功能参数,通过功能参数表,从临时缓存中获取数据,并回传给httpd,httpd再发送给请求数据的http客户端;若不存在匹配的页面,则丢弃该数据请求,CGI将结果发送给httpd,再由httpd发送给请求数据的http客户端。根据上述的,其中:所述步骤S4中,数据所在平台对应的客户端将所要求的数据返回给嵌入式设备时,所要求的数据返回给嵌入式设备的httpd进程,httpd进程再将所要求的数据返回给浏览器,以便用户看到嵌入式设备的页面信息。根据上述的,其中:所述步骤S4中,客户端和服务端间的通信机制是采用Linux的ipc通信机制来完成。根据上述的,其中:所述步骤S4中,客户端到服务端的过程是线程到进程、进程到进程、线程到线程或进程到线程。如上所述,本专利技术的,具有以下有益效果:(I)实现了更好的移植且不破坏当前各个平台的架构;(2)实现了 web服务器对多个不同平台的数据信息的访问;(3)便于移植,易于维护。【附图说明】图1显示为现有技术中多个平台各自进行数据处理的示意图;图2显示为本专利技术的的框架流程图;图3显示为本专利技术中CGI的处理流程图;图4显示为本专利技术的的详细流程图;图5显示为本专利技术中客户端和服务端间的通信机制的示意图。【具体实施方式】以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需要说明的是,本实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术中,web服务器需要跨平台实现对数据的访问,其中跨平台是指运行在多种不同架构上的进程或者线程。参照图2,本专利技术的包括以下步骤:步骤S1、当用户端访问嵌入式设备的web页面时,嵌入式设备调用httpd进程接收数据请求,并通过通用网关接口(Common Gateway Interface,CGI)对数据请求进行解析和分解,获取所请求数据的控制报文类型以及相应的分解数据。具体地,用户端通过设备如PC的浏览器访问嵌入式设备的web页面。嵌入式设备中当前平台的httpd进程接收该http数据请求,并通过CGI进行解析和分解,以获取所请求数据的控制报文类型。其中,获取所请求数据的控制报文类型时,通过页面的名字进行匹配来确定。参照图3,CGI的处理过程包括如下步骤:CGI接收httpd进程接收到的数据请求。判断数据请求的报文头是否是设置(set)操作。若是set操作,接收httpd设置数据当前第1页1 2 本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104536837.html" title="基于Linux 的嵌入式web 服务器访问多平台数据的实现方法原文来自X技术">基于Linux 的嵌入式web 服务器访问多平台数据的实现方法</a>

【技术保护点】
一种基于Linux的嵌入式web服务器访问多平台数据的实现方法,其特征在于:包括以下步骤:步骤S1、当访问嵌入式设备的web页面时,嵌入式设备调用httpd进程接收数据请求,并通过CGI对数据请求进行解析和分解,获取所请求数据的控制报文类型以及相应的分解数据;步骤S2、嵌入式设备根据所请求数据的控制报文类型,确定数据所在平台;判断数据所在平台是否为当前平台;若是,转入步骤S3;若否,转入步骤S4;步骤S3、从当前平台上直接获取所要求的数据,并返回给嵌入式设备;步骤S4、访问数据所在平台对应的客户端,数据所在平台对应的客户端再访问对应的服务端,对应的服务端在数据所在平台上获取所要求的数据,并返回至数据所在平台对应的客户端,数据所在平台对应的客户端将所要求的数据返回给嵌入式设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘玉喜
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1