[发明专利]基于FastCGI和HTML模板的嵌入式WEB MVC开发框架有效
| 申请号: | 201210350593.5 | 申请日: | 2012-09-19 |
| 公开(公告)号: | CN102902537A | 公开(公告)日: | 2013-01-30 |
| 发明(设计)人: | 黄庆文 | 申请(专利权)人: | 厦门亿联网络技术股份有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
| 地址: | 361009 福建省厦门市*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 fastcgi html 模板 嵌入式 web mvc 开发 框架 | ||
技术领域
本发明涉及一种基于FastCGI和HTML模板的嵌入式WEB MVC开发框架。
背景技术
目前市面上有不少嵌入式设备上WEB开发框架,如使用PHP、EJscript以及近来新起的服务端JavaScript等,但大多数都体积太大动辄好几兆。在一些小型嵌入式设备上因成本原因Flash空间都非常小,很多只有6-8M ,在这点flash空间上大部分要用来存放业务程序代码,不可能为WEB应用使用太大的开发框架。
市面上也有些小型嵌入式设备上WEB开发框架,其实现方法为:Web Server 接受到Http请求解析出用户提交的数据放到环境变量,CGI程序从环境变量中读取用户数据进行相应业务处理后构造相应HTML页面打印输出。但这种方法实现的太简单,有的只是实现了一个类似HTML模板,将业务通过一个标签映射到业务代码,特制较多,不适用通用WEB开发且基本只适用于CGI ,性能低下。
有鉴于此,本发明人针对现有技术的缺陷深入研究,并有本案产生。
发明内容
本发明所要解决的技术问题在于提供一种基于FastCGI和HTML模板的嵌入式WEB MVC开发框架,适用于小型嵌入式设备,小巧、高效、结构优良,框架体积小巧只占用100K左右flash 空间。
本发明采用以下技术方案解决上述技术问题:
基于FastCGI和HTML模板的嵌入式WEB MVC开发框架,该框架运行向下依赖FastCGI 进程管理器及网页服务器,向上为WebApp Plugin业务逻辑处理模块提供服务;其特征在于:该框架包括FastCGI 子进程模块 、请求派发控制模块、侦听器管理模块、业务插件管理模块、Session 会话控制模块、编解码模块、数据接收模块、数据响应输出模块和HTML模板模块;
所述FastCGI 子进程模块:通过Socket 或者PIPE 与所述网页服务器通信,用于阻塞等待所述FastCGI 进程管理器的连接;当接收到浏览器的请求时,所述网页服务器与该模块建立连接,将数据传递过来,该模块完成处理后将标准输出和错误信息从同一连接返回所述网页服务器;当该模块关闭连接时,请求便告处理完成;该模块接着等待并处理来自运行在网页服务器中的FastCGI进程管理器的下一个连接;若是在CGI模式中进程在此便退出了,再将结果数据传递给网页服务器并关闭连接,再阻塞等待下一次连接;
所述请求派发控制模块:负责请求到来时,使用多线程对请求进行派发控制处理;该模块从FastCGI 进程管理器获得请求,首先调用所述数据接收模块将页面数据封装,然后调用所述Session 会话控制模块刷新Session,后将请求交给所述侦听器管理模块;
所述侦听器管理模块:负责根据配置文件动态加载、管理所述WebApp Plugin业务逻辑处理模块的业务侦听器插件;侦听器容器从所述请求派发控制模块获得请求,根据配置将请求交给各侦听器逐一处理,侦听器处理完后根据返回结果决定是否继续处理该请求,如不需要处理则返回所述数据响应输出模块,如需处理则将请求交给所述业务插件管理模块;
所述业务插件管理模块:负责根据配置文件动态加载业务插件,管理所述WebApp Plugin业务逻辑处理模块的业务处理插件;该模块接收到所述侦听器管理模块的请求后进行相应的业务逻辑处理,此时用户可视情况决定直接拼凑HTML将处理结果输出到客户端或者将结果数据封装到一个链表,并设置所述HTML模板模块通过该模板输出HTML到客户端;
所述Session 会话控制模块:为用户二次开发提供会话控制功能,该会话控制利用cookie实现,在向浏览器返回数据时设置上一个Cookie 携带上一串随机生成的Session id,同时该Session id 与Session容器中某个Session 对象建立一对一关联;浏览器重新发起请求时会带上Cookie,所述网页服务器获取该Cookie找到Session id再查找到Session 对象,以此对象维护多个请求间的会话;当浏览器一定时间没有和网页服务器请求时,Session自动超时销毁;
所述编解码模块:完成URL,HTML特殊字符编解码;
所述数据接收模块:对请求提交的数据进行统一封装,对应用层屏蔽GET提交和POST 提交的差异,用户通过该模块API 获取表单、cookie、文件上传数据;
所述数据响应输出模块:对HTTP响应信令进行封装提供重定向、状态码、响应内容类型、字符编码、HTML输出功能支持;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门亿联网络技术股份有限公司,未经厦门亿联网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210350593.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:IOS平台上捕获系统消息的方法和装置
- 下一篇:一种电池防爆膜结构





