新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種實(shí)用的嵌入式Web服務(wù)器設(shè)計(jì)

一種實(shí)用的嵌入式Web服務(wù)器設(shè)計(jì)

作者: 時(shí)間:2012-05-08 來源:網(wǎng)絡(luò) 收藏

d.jpg


通過以上過程的處理,即可實(shí)現(xiàn)對(duì)訪問權(quán)限的控制與管理。
2.3 頁面文檔管理及生成的功能實(shí)現(xiàn)
由于配置環(huán)境的需要,頁面較多,如果將所有頁面均存儲(chǔ)在Flash上,文件讀寫的問題將更為突出。為此,本文了一個(gè)如圖5所示的網(wǎng)頁頁面文件管理結(jié)構(gòu)來對(duì)頁面文件進(jìn)行管理。

e.jpg


下面介紹具體處理過程。
首先,對(duì)所有頁面無論是靜態(tài)還是動(dòng)態(tài)頁面,均建立一個(gè)對(duì)應(yīng)的模板文件,并將該模板文件的內(nèi)容以全局靜態(tài)字符串的形式直接寫在程序中。在系統(tǒng)初始化時(shí)對(duì)各模板內(nèi)容的大小進(jìn)行統(tǒng)計(jì),并按下式對(duì)各文件的最大容量進(jìn)行粗略的估算:
mS=sizeof(pT)×1.2
其中:mS為估算的頁面內(nèi)容最大尺寸,sizeof(pT)則為該頁面對(duì)應(yīng)模板的實(shí)際大小(以上兩者均以字節(jié)為單位)。
按上式估算出頁面的最大尺寸后,為保證對(duì)頁面分配內(nèi)存時(shí)空間的連續(xù)性,根據(jù)所有頁面的最大尺寸和,一次性分配一個(gè)較大的內(nèi)存空間,并將該空間按各個(gè)頁面所對(duì)應(yīng)的最大尺寸依次與該頁面對(duì)應(yīng)的管理結(jié)構(gòu)內(nèi)的文件內(nèi)容指針相關(guān)聯(lián)。這樣,每次因配置的修改導(dǎo)致頁面內(nèi)容發(fā)生變化時(shí),僅需對(duì)該指針?biāo)赶虻目臻g內(nèi)容進(jìn)行修改即可,而僅在保存配置數(shù)據(jù)時(shí),通過配置文件更新函數(shù)將其存儲(chǔ)在Flash中。這樣既避免了為修改頁面文件內(nèi)容而申請(qǐng)內(nèi)存的操作,又避免了為存儲(chǔ)頁面內(nèi)容而頻繁進(jìn)行的Flash讀寫操作,從而提高了該EWS的效率。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉