專利名稱:一種嵌入式web服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種嵌入式web服務(wù)器,屬于嵌入式技術(shù)領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,web技術(shù)廣泛地應(yīng)用于我們的生活中,我們每天瀏覽互聯(lián) 網(wǎng),每一次點(diǎn)擊頁面,都是web服務(wù)器在幕后為我們提供相應(yīng)的服務(wù)。當(dāng)前市場上比較常用的web服務(wù)器軟件有微軟的iis,tomcat的apach,jetty等, 但都是針對桌面系統(tǒng),特點(diǎn)是功能強(qiáng)大,支持標(biāo)準(zhǔn)的腳本語言,相應(yīng)的對軟硬件的資源要求 也比較高,啟動速度慢。近年來,隨著嵌入式系統(tǒng)的快速發(fā)展,以及web技術(shù)的廣泛應(yīng)用,對 嵌入式web服務(wù)器的需求越來越多,現(xiàn)有的嵌入式web服務(wù)技術(shù)主要是CGI,這種技術(shù)也廣 泛應(yīng)用于桌面系統(tǒng),其優(yōu)點(diǎn)是接口控制靈活,技術(shù)規(guī)范;但其不足之處是對系統(tǒng)軟硬件的資 源要求高,需要文件系統(tǒng)的支持,對操作系統(tǒng)及處理器等硬件的依賴性強(qiáng),不支持簡易的操 作系統(tǒng),應(yīng)用開發(fā)也比較復(fù)雜,與嵌入式系統(tǒng)設(shè)備追求的低功耗、低成本目標(biāo)相悖。由于嵌 入式設(shè)備的web應(yīng)用主要是設(shè)備監(jiān)控,交互的內(nèi)容比較簡單,不需要強(qiáng)大的功能,因此需要 一種簡易的嵌入式web服務(wù)器以滿足其具體的特定的需求。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題的目的在于提供一種嵌入式web服務(wù)器。采用本發(fā)明減 少了 web服務(wù)器對軟硬件資源的過多需求,并降低了對操作系統(tǒng)的依賴性等缺點(diǎn),更加符 合嵌入式設(shè)備低功耗、低成本的要求。本發(fā)明的技術(shù)解決方案是一種嵌入式web服務(wù)器,包括接口模塊、存儲模塊、協(xié)議解析模塊、文件檢索模塊 和腳本處理模塊;存儲模塊,用于存儲客戶端請求的頁面文件及頁面文件的附屬文件;接口模塊,用于與客戶端進(jìn)行tcp/ip協(xié)議通信,接收時,將客戶端發(fā)送的http數(shù) 據(jù)包轉(zhuǎn)發(fā)給協(xié)議解析模塊;發(fā)送時,將由協(xié)議解析模塊傳入的http數(shù)據(jù)包,通過tcp/ip協(xié) 議發(fā)送給客戶端;協(xié)議解析模塊,接收時,將從接口模塊傳入的http數(shù)據(jù)包進(jìn)行http協(xié)議解析,獲 得客戶端要請求的文件,并將客戶端要請求的文件發(fā)送給文件檢索模塊;發(fā)送時,將由文件 檢索模塊或者腳本處理模塊傳入的http數(shù)據(jù)文件,以數(shù)據(jù)包的形式發(fā)送給接口模塊;文件檢索模塊,接收協(xié)議解析模塊傳入的客戶端要請求的文件,并根據(jù)客戶端要 請求的文件的文件名對存儲模塊中的文件進(jìn)行檢索;檢索到客戶端要請求的文件后,判斷 客戶端要請求的文件中是否包含自定義腳本數(shù)據(jù),如果不包含腳本數(shù)據(jù),則將客戶端要請 求的文件直接返回給協(xié)議解析模塊,否則將客戶端要請求的文件傳送給腳本處理模塊;腳本處理模塊,對傳入的客戶端要請求的文件中的腳本數(shù)據(jù)按照腳本映射表進(jìn)行 腳本解析,將解析后的客戶端要請求的文件返回給協(xié)議解析模塊。
存儲模塊按照目錄區(qū)、數(shù)據(jù)區(qū)的格式進(jìn)行存儲;在數(shù)據(jù)區(qū)中每一個文件都是一條記錄,記錄格式包括文件頭標(biāo)記、文件最后修改 時間、文件大小、文件名、擴(kuò)展名、文件數(shù)據(jù);在目錄區(qū)中每一條記錄對應(yīng)于數(shù)據(jù)區(qū)中的一條 數(shù)據(jù),記錄格式包括目錄文件頭標(biāo)記、文件最后修改時間、文件大小、文件名長度、擴(kuò)展名長 度、文件屬性、文件名、擴(kuò)展名、文件內(nèi)容索引;所有文件在一個連續(xù)的地址空間中存儲。所述文件檢索模塊按照存儲模塊存儲的文件格式進(jìn)行檢索,先檢索目錄區(qū),然后 根據(jù)目錄區(qū)的文件內(nèi)容索引到文件數(shù)據(jù)區(qū)中讀取文件內(nèi)容。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn)(1)插入到html文件中的腳本格式為自定義,根據(jù)腳本內(nèi)容定義腳本映射表,實(shí) 現(xiàn)簡單,不需要開發(fā)者去學(xué)習(xí)復(fù)雜的html腳本編程語言。(2)所有頁面文件及其附屬文件(圖片,ess文件等)的封裝格式類似于磁盤文件 系統(tǒng)的格式,但要比磁盤文件系統(tǒng)格式簡單,文件檢索效率高。(3)外部存儲器可支持Flash,EPCS等常用的存儲芯片,在內(nèi)存中進(jìn)行文件檢索及 解析,處理速度非??臁?4)腳本映射表為根據(jù)腳本內(nèi)容自定義的映射表,映射表檢索采用折半查找法,腳 本解析效率高。(5)系統(tǒng)僅僅對客戶端請求的頁面文件及其附屬文件(圖片,ess文件等)進(jìn)行存 儲及檢索,僅僅對html文件中定義的腳本標(biāo)識進(jìn)行解析,沒有任何多余的處理,所以系統(tǒng) 資源占用少,效率高,啟動速度快。(6)系統(tǒng)使用自己定義的文件存儲格式進(jìn)行文件打包存儲,并按照自定義格式實(shí) 現(xiàn)文件檢索,所以系統(tǒng)運(yùn)行不需要文件系統(tǒng)的支持,不依賴于操作系統(tǒng),可以運(yùn)行在一些簡 易操作系統(tǒng)上如uc/OS等。(7)本發(fā)明在具體實(shí)現(xiàn)時,資源占用少,效率高,啟動速度快,對硬件的依賴性??; 系統(tǒng)兼容性好,不需要移植即可適用于各種軟硬件平臺;動態(tài)分配軟硬件資源,依據(jù)實(shí)現(xiàn)動 態(tài)頁面的復(fù)雜度來分配軟硬件資源。(8)本發(fā)明有效地提高了嵌入式系統(tǒng)的軟硬件資源利用率,對嵌入式設(shè)備的監(jiān)控 提供了一種方便快捷的方式,大大節(jié)省了設(shè)備的軟硬件資源,降低了成本。
圖1為本發(fā)明結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例圖。
具體實(shí)施例方式如圖1所示,本發(fā)明包括接口模塊、存儲模塊、協(xié)議解析模塊、文件檢索模塊和腳 本處理模塊。使用前,首先構(gòu)造使用的html文件及其附屬文件,例如ess文件,圖片文件等;然 后在需要動態(tài)顯示的html文件中出入自定義腳本標(biāo)識,自定義腳本標(biāo)識以為起始標(biāo) 識,以% @為結(jié)束標(biāo)識,例如實(shí)時顯示設(shè)備接收點(diǎn)頻,則腳本標(biāo)識可以定義如下@% recv_freq% @
腳本標(biāo)識定義完成以后,再根據(jù)自定義腳本的內(nèi)容構(gòu)造腳本映射表,用于對腳本 的含義進(jìn)行解析。腳本映射表包含腳本標(biāo)識和腳本內(nèi)容(初始內(nèi)容為空),腳本解析處理 模塊根據(jù)腳本映射表定義的腳本標(biāo)識動態(tài)生成腳本內(nèi)容,在進(jìn)行腳本解析時檢索腳本映射 表,用腳本內(nèi)容替換腳本標(biāo)識,動態(tài)生成html文件。在使用時,將使用的http文件及其附屬文件(ess文件,圖片文件等),按照一定的 格式重新打包成一個文件,通過存儲模塊將重新打包的文件寫入EPCS芯片的某一個連續(xù) 的地址空間,作為web服務(wù)器的文件系統(tǒng)(以下簡稱文件系統(tǒng))。文件重新打包按照“目錄
區(qū)+ ■據(jù)區(qū)”的格式進(jìn)行存儲,在_女據(jù)區(qū)中每一個文件都是一條記錄,記錄格式如下
組成長度
文件頭標(biāo)記4bytes
文件最后修改日期2bytes
文件最后修改時間2bytes
文件大小4bytes
文件名長度2bytes
擴(kuò)展名長度2bytes
文件名不定長度
擴(kuò)展名不定長度
文件數(shù)據(jù)不定長度
在目錄區(qū)中每一條記錄對應(yīng)于數(shù)據(jù)區(qū)中的一條數(shù)據(jù),記錄格式如下
組成長度
目錄文件頭標(biāo)記4bytes
文件最后修改日期2bytes
文件最后修改時間2bytes
文件大小4bytes
文件名長度2bytes
擴(kuò)展名長度2bytes
文件名不定長度
擴(kuò)展名不定長度
文件內(nèi)容索引4bytes
如圖1、2所示,存儲器包括由EPCS芯片實(shí)現(xiàn)的外部存儲器,和由DDR芯片實(shí)現(xiàn)的
內(nèi)部存儲器,在系統(tǒng)啟動時,將存儲在外部存儲器上的文件及其附屬文件讀到內(nèi)部存儲器 中,這樣可大大提高文件的解析和檢索速度。接口模塊在接收時,將客戶端發(fā)送的tcp/ip數(shù)據(jù)包轉(zhuǎn)發(fā)給http協(xié)議解析模塊;在 發(fā)送時,將協(xié)議解析模塊傳入的http數(shù)據(jù)包,通過tcp/ip協(xié)議發(fā)送給客戶端。協(xié)議解析模塊在接收時,對由接口模塊傳入的數(shù)據(jù)包進(jìn)行http協(xié)議解析,獲得客 戶端的請求文件,并將客戶端的請求文件發(fā)送給文件檢索模塊;發(fā)送時,將由文件檢索模塊 或者腳本處理模塊傳入的http數(shù)據(jù)文件,以數(shù)據(jù)包的形式發(fā)送給接口模塊。文件檢索模塊在接收協(xié)議解析模塊傳入的客戶端請求文件后,根據(jù)文件名對存儲 在內(nèi)部存儲器中的文件按照存儲格式進(jìn)行文件檢索,檢索到客戶端的請求文件后,判斷文件中是否包含自定義腳本數(shù)據(jù),如果不包含腳本數(shù)據(jù),則將文件直接返回給協(xié)議解析模塊, 否則將文件傳送給腳本處理模塊。腳本處理模塊對傳入的用戶請求文件按照腳本映射表進(jìn)行腳本解析,腳本解析處 理模塊根據(jù)腳本映射表定義的腳本標(biāo)識動態(tài)生成腳本內(nèi)容,在進(jìn)行腳本解析時檢索腳本映 射表,用腳本內(nèi)容替換腳本標(biāo)識,動態(tài)生成html文件,將解析后的文件返回給協(xié)議解析模 塊。如圖1所示,本發(fā)明采用的硬件平臺主要包括FPGA芯片,EPCS芯片,LAN接口芯片 及DDR芯片組成,系統(tǒng)不需要專門處理器芯片的支持,通在使用FPGA內(nèi)置軟核實(shí)現(xiàn)處理芯 片的功能。本發(fā)明未詳細(xì)說明部分屬本領(lǐng)域技術(shù)人員公知常識。
權(quán)利要求
1.一種嵌入式web服務(wù)器,其特征在于包括接口模塊、存儲模塊、協(xié)議解析模塊、文件 檢索模塊和腳本處理模塊;存儲模塊,用于存儲客戶端請求的頁面文件及頁面文件的附屬文件;接口模塊,用于與客戶端進(jìn)行tcp/ip協(xié)議通信,接收時,將客戶端發(fā)送的http數(shù)據(jù)包 轉(zhuǎn)發(fā)給協(xié)議解析模塊;發(fā)送時,將由協(xié)議解析模塊傳入的http數(shù)據(jù)包,通過tcp/ip協(xié)議發(fā) 送給客戶端;協(xié)議解析模塊,接收時,將從接口模塊傳入的http數(shù)據(jù)包進(jìn)行http協(xié)議解析,獲得客 戶端要請求的文件,并將客戶端要請求的文件發(fā)送給文件檢索模塊;發(fā)送時,將由文件檢索 模塊或者腳本處理模塊傳入的http數(shù)據(jù)文件,以數(shù)據(jù)包的形式發(fā)送給接口模塊;文件檢索模塊,接收協(xié)議解析模塊傳入的客戶端要請求的文件,并根據(jù)客戶端要請求 的文件的文件名對存儲模塊中的文件進(jìn)行檢索;檢索到客戶端要請求的文件后,判斷客戶 端要請求的文件中是否包含自定義腳本數(shù)據(jù),如果不包含腳本數(shù)據(jù),則將客戶端要請求的 文件直接返回給協(xié)議解析模塊,否則將客戶端要請求的文件傳送給腳本處理模塊;腳本處理模塊,對傳入的客戶端要請求的文件中的腳本數(shù)據(jù)按照腳本映射表進(jìn)行腳本 解析,將解析后的客戶端要請求的文件返回給協(xié)議解析模塊。
2.根據(jù)權(quán)利要求1所述的一種嵌入式web服務(wù)器,其特征在于存儲模塊按照目錄區(qū)、 數(shù)據(jù)區(qū)的格式進(jìn)行存儲;在數(shù)據(jù)區(qū)中每一個文件都是一條記錄,記錄格式包括文件頭標(biāo)記、文件最后修改時間、 文件大小、文件名、擴(kuò)展名、文件數(shù)據(jù);在目錄區(qū)中每一條記錄對應(yīng)于數(shù)據(jù)區(qū)中的一條數(shù)據(jù), 記錄格式包括目錄文件頭標(biāo)記、文件最后修改時間、文件大小、文件名長度、擴(kuò)展名長度、文 件屬性、文件名、擴(kuò)展名、文件內(nèi)容索引;所有文件在一個連續(xù)的地址空間中存儲。
3.根據(jù)權(quán)利要求1或2所述的一種嵌入式web服務(wù)器,其特征在于所述文件檢索模 塊按照存儲模塊存儲的文件格式進(jìn)行檢索,先檢索目錄區(qū),然后根據(jù)目錄區(qū)的文件內(nèi)容索 弓I到文件數(shù)據(jù)區(qū)中讀取文件內(nèi)容。
全文摘要
本發(fā)明公開了一種嵌入式web服務(wù)器,包括接口模塊、存儲模塊、協(xié)議解析模塊、文件檢索模塊和腳本處理模塊。采用本發(fā)明減少了web服務(wù)器對軟硬件資源的過多需求,并降低了對操作系統(tǒng)的依賴性等缺點(diǎn),更加符合嵌入式設(shè)備低功耗、低成本的要求。
文檔編號G06F17/30GK102075572SQ20101062277
公開日2011年5月25日 申請日期2010年12月29日 優(yōu)先權(quán)日2010年12月29日
發(fā)明者王恒彬 申請人:北京遙測技術(shù)研究所