• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于FastCGI和HTML模板的嵌入式WEB MVC開發框架制造技術

    技術編號:8271262 閱讀:706 留言:0更新日期:2013-01-31 03:26
    基于FastCGI和HTML模板的嵌入式WEBMVC開發框架,該框架運行向下依賴FastCGI進程管理器及網頁服務器,向上為WebAppPlugin業務邏輯處理模塊提供服務;該框架包括FastCGI子進程模塊、請求派發控制模塊、偵聽器管理模塊、業務插件管理模塊、Session會話控制模塊、編解碼模塊、數據接收模塊、數據響應輸出模塊和HTML模板模塊。本發明專利技術提供了一種基于FastCGI和HTML模板的嵌入式WEBMVC開發框架,適用于小型嵌入式設備,小巧、高效、結構優良,框架體積小巧只占用100K左右flash空間。

    【技術實現步驟摘要】
    本專利技術涉及一種基于FastCGI和HTML模板的嵌入式WEB MVC開發框架
    技術介紹
    目前市面上有不少嵌入式設備上WEB開發框架,如使用PHP、EJscript以及近來新起的服務端JavaScript等,但大多數都體積太大動輒好幾兆。在一些小型嵌入式設備上因成本原因Flash空間都非常小,很多只有6-8M,在這點flash空間上大部分要用來存放業務程序代碼,不可能為WEB應用使用太大的開發框架。 市面上也有些小型嵌入式設備上WEB開發框架,其實現方法為Web Server接受到Http請求解析出用戶提交的數據放到環境變量,CGI程序從環境變量中讀取用戶數據進行相應業務處理后構造相應HTML頁面打印輸出。但這種方法實現的太簡單,有的只是實現了一個類似HTML模板,將業務通過一個標簽映射到業務代碼,特制較多,不適用通用WEB開發且基本只適用于CGI,性能低下。有鑒于此,本專利技術人針對現有技術的缺陷深入研究,并有本案產生。
    技術實現思路
    本專利技術所要解決的技術問題在于提供一種基于FastCGI和HTML模板的嵌入式WEBMVC開發框架,適用于小型嵌入式設備,小巧、高效、結構優良,框架體積小巧只占用100K左右flash空間。本專利技術采用以下技術方案解決上述技術問題 基于FastCGI和HTML模板的嵌入式WEB MVC開發框架,該框架運行向下依賴FastCGI進程管理器及網頁服務器,向上為WebApp Plugin業務邏輯處理模塊提供服務;其特征在于該框架包括FastCGI子進程模塊、請求派發控制模塊、偵聽器管理模塊、業務插件管理模塊、Session會話控制模塊、編解碼模塊、數據接收模塊、數據響應輸出模塊和HTML模板模塊; 所述FastCGI子進程模塊通過Socket或者PIPE與所述網頁服務器通信,用于阻塞等待所述FastCGI進程管理器的連接;當接收到瀏覽器的請求時,所述網頁服務器與該模塊建立連接,將數據傳遞過來,該模塊完成處理后將標準輸出和錯誤信息從同一連接返回所述網頁服務器;當該模塊關閉連接時,請求便告處理完成;該模塊接著等待并處理來自運行在網頁服務器中的FastCGI進程管理器的下一個連接;若是在CGI模式中進程在此便退出了,再將結果數據傳遞給網頁服務器并關閉連接,再阻塞等待下一次連接; 所述請求派發控制模塊負責請求到來時,使用多線程對請求進行派發控制處理;該模塊從FastCGI進程管理器獲得請求,首先調用所述數據接收模塊將頁面數據封裝,然后調用所述Session會話控制模塊刷新Session,后將請求交給所述偵聽器管理模塊; 所述偵聽器管理模塊負責根據配置文件動態加載、管理所述WebApp Plugin業務邏輯處理模塊的業務偵聽器插件;偵聽器容器從所述請求派發控制模塊獲得請求,根據配置將請求交給各偵聽器逐一處理,偵聽器處理完后根據返回結果決定是否繼續處理該請求,如不需要處理則返回所述數據響應輸出模塊,如需處理則將請求交給所述業務插件管理模塊; 所述業務插件管理模塊負責根據配置文件動態加載業務插件,管理所述WebAppPlugin業務邏輯處理模塊的業務處理插件;該模塊接收到所述偵聽器管理模塊的請求后進行相應的業務邏輯處理,此時用戶可視情況決定直接拼湊HTML將處理結果輸出到客戶端或者將結果數據封裝到一個鏈表,并設置所述HTML模板模塊通過該模板輸出HTML到客戶端; 所述Session會話控制模塊為用戶二次開發提供會話控制功能,該會話控制利用cookie實現,在向瀏覽器返回數據時設置上一個Cookie攜帶上一串隨機生成的Sessionid,同時該Session id與Session容器中某個Session對象建立一對一關聯;瀏覽器重 新發起請求時會帶上Cookie,所述網頁服務器獲取該Cookie找到Session id再查找到 Session對象,以此對象維護多個請求間的會話;當瀏覽器一定時間沒有和網頁服務器請求時,Session自動超時銷毀; 所述編解碼模塊完成URL,HTML特殊字符編解碼; 所述數據接收模塊對請求提交的數據進行統一封裝,對應用層屏蔽GET提交和POST提交的差異,用戶通過該模塊API獲取表單、cookie、文件上傳數據; 所述數據響應輸出模塊J^HTTP響應信令進行封裝提供重定向、狀態碼、響應內容類型、字符編碼、HTML輸出功能支持; 所述HTML模板模塊通過使用服務端標簽實現內容動態替換,標簽包括數據輸出標簽、邏輯判斷標簽、循環控制標簽、文件包含標簽四類。進一步地,所述偵聽器管理模塊動態加載業務偵聽器插件,具體包括框架定義偵聽器接口,偵聽器插件按照偵聽接口規范實現插件類,將插件創建函數名添加到插件配置文件,偵聽器模塊啟動時解析配置文件找到創建函數創建插件實例。進一步地,所述業務插件管理模塊動態加載業務插件,具體包括框架定義業務插件接口,業務插件按照插件接口規范實現插件類,將插件創建函數名加入到插件配置文件中,業務插件模塊啟動時解析配置文件找到創建函數創建插件實例。本專利技術的優點在于本專利技術使用了 FastCGI技術解決了傳統CGI速度響應慢的問題;使用了插件進行業務開發保證框架小巧靈活普遍使用;使用HTML模板技術實現頁面顯示和邏輯完全分離的MVC結構(這里視圖層V即為HTML模板模塊,而邏輯層M為業務插件管理模塊,V與M通過控制層C進行交互,控制層由上面所述的請求派發控制模塊、Session會話控制模塊組成);使用二級壓縮充分減小頁面空間占用;對Session、HTTP header等常用操作API支持便于WEB業務開發。框架集中專注小型嵌入式設備上的應用場景實現了一個性能優越、開發快速、結構優良且體積小巧的WEB開發框架。附圖說明下面參照附圖結合實施例對本專利技術作進一步的描述。圖I是本專利技術中模塊關系示意圖。圖2是本專利技術中FastCGI子模塊關系示意圖。圖3是本專利技術中FastCGI子進程模塊流程示意圖。圖4是本專利技術中請求派發控制模塊流程示意圖。圖5是本專利技術中框架定義偵聽器接口示意圖。圖6是本專利技術中框架定義業務插件接口示意圖。圖7是本專利技術中Session會話控制模塊的會話創建流程圖。圖8是本專利技術中Session會話控制模塊的Session清理流程圖。圖9是使用本專利技術的框架的請求處理流程示意圖。具體實施方式 如圖I所示,框架系統上下文定義,網頁服務器是指Web前端服務器,此服務器負責完成連接管理,靜態資源文件處理等,本專利技術所屬網頁服務器需支持FastCGI,參考服務器如Lighttpd, Apache等;FastCGI進程管理器是指實現了 FastCGI規范、能完成CGI解析器進程管理功能的中間件;FCGI Server是本專利技術所述框架部分,框架運行需向下依賴FastCGI進程管理器及網頁服務器,向上為WebApp Plugin業務模塊提供服務;WebAppPlugin是本專利技術所述用戶基于框架做二次開發實現的業務邏輯處理模塊,該模塊需實現框架接口,以插件的形式存在獨立編譯成動態庫,通過配置文件指定插件參數能被框架自動加載運行。其中包含業務偵聽器插件和業務處理插件兩類。偵聽器插件是一種能接受所有請求插件,框架會將所有請求都交給偵聽器插件逐一過濾,偵聽器插件處本文檔來自技高網...

    【技術保護點】
    基于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輸出功能支持;所述HTML模板模塊:通過使用服務端標簽實現內容動態替換,標簽包括數據輸出標簽、邏輯判斷標簽、循環控制標簽、文件包含標簽四類。...

    【技術特征摘要】
    1.基于FastCGI和HTML模板的嵌入式WEBMVC開發框架,該框架運行向下依賴FastCGI進程管理器及網頁服務器,向上為WebApp Plugin業務邏輯處理模塊提供服務;其特征在于該框架包括FastCGI子進程模塊、請求派發控制模塊、偵聽器管理模塊、業務插件管理模塊、Session會話控制模塊、編解碼模塊、數據接收模塊、數據響應輸出模塊和HTML模板模塊; 所述FastCGI子進程模塊通過Socket或者PIPE與所述網頁服務器通信,用于阻塞等待所述FastCGI進程管理器的連接;當接收到瀏覽器的請求時,所述網頁服務器與該模塊建立連接,將數據傳遞過來,該模塊完成處理后將標準輸出和錯誤信息從同一連接返回所述網頁服務器;當該模塊關閉連接時,請求便告處理完成;該模塊接著等待并處理來自運行在網頁服務器中的FastCGI進程管理器的下一個連接;若是在CGI模式中進程在此便退出了,再將結果數據傳遞給網頁服務器并關閉連接,再阻塞等待下一次連接; 所述請求派發控制模塊負責請求到來時,使用多線程對請求進行派發控制處理;該模塊從FastCGI進程管理器獲得請求,首先調用所述數據接收模塊將頁面數據封裝,然后調用所述Session會話控制模塊刷新Session,后將請求交給所述偵聽器管理模塊; 所述偵聽器管理模塊負責根據配置文件動態加載、管理所述WebApp Plugin業務邏輯處理模塊的業務偵聽器插件;偵聽器容器從所述請求派發控制模塊獲得請求,根據配置將請求交給各偵聽器逐一處理,偵聽器處理完后根據返回結果決定是否繼續處理該請求,如不需要處理則返回所述數據響應輸出模塊,如需處理則將請求交給所述業務插件管理模塊; 所述業務插件管理模塊負責根據配置文件動態加載業務插件,管理所述WebAppPlugin業務邏輯處理模塊的業務處理插件;該模塊接收到所述偵聽器管理模塊的請求后進行相應的業務邏輯處理,此時用戶可視情況決定直接拼湊H...

    【專利技術屬性】
    技術研發人員:黃慶文
    申請(專利權)人:廈門億聯網絡技術股份有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产乱子伦精品免费无码专区| 91精品久久久久久无码| 精品无码国产污污污免费| 久久亚洲精品成人无码| 狠狠躁天天躁中文字幕无码 | 亚洲精品无码人妻无码| 精品久久久久久无码中文字幕 | 夜夜添无码一区二区三区| 亚洲GV天堂GV无码男同| 亚洲国产精品无码久久一区二区 | 久久综合一区二区无码| 亚洲人AV在线无码影院观看| 日韩va中文字幕无码电影| 国产精品无码AV天天爽播放器| 一本色道无码道在线观看| 亚洲免费无码在线| 免费a级毛片无码a∨蜜芽试看| 人妻无码第一区二区三区| 亚洲人成人无码网www电影首页| 日日摸日日碰人妻无码| 人妻av中文字幕无码专区| 人妻无码中文字幕免费视频蜜桃| 亚洲精品97久久中文字幕无码| 亚洲国产精品无码久久98| 亚洲av无码一区二区三区天堂古代| 国产成人综合日韩精品无码不卡| 无码欧精品亚洲日韩一区夜夜嗨 | mm1313亚洲国产精品无码试看| 精品无码国产污污污免费网站| 无码AV天堂一区二区三区| 亚洲精品无码Av人在线观看国产| 国产精品亚洲αv天堂无码| 精品无人区无码乱码毛片国产 | 久久久久无码精品国产| 精品无码久久久久久午夜| 免费A级毛片无码专区| 中文字幕久久久人妻无码| 亚洲国产精品无码中文lv| 无码不卡中文字幕av| 乱人伦人妻中文字幕无码久久网| 超清无码无卡中文字幕|