專利名稱:一種頁面訪問的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算網(wǎng)絡(luò)和通信網(wǎng)絡(luò)技術(shù),尤其涉及頁面訪問的實(shí)現(xiàn)方法。
背景技術(shù):
電信設(shè)備的Web服務(wù)器與通用Internet服務(wù)器相比很大的區(qū)別是使用者不同,電信設(shè)備的Web服務(wù)是提供給設(shè)備管理人員使用的,管理人員可以通過Web管理和監(jiān)視通信設(shè)備。由于電信設(shè)備管理的內(nèi)容(即頁面)要受到嚴(yán)格控制,而每次頁面更新相當(dāng)于網(wǎng)管的一次升級(jí),因此也要受控發(fā)布。
在一般的Web服務(wù)器中,服務(wù)端存儲(chǔ)的頁面是以多個(gè)頁面元素的方式保存的,如html頁面文件,圖像、聲音等格式的文件。現(xiàn)有電信設(shè)備的Web服務(wù)也按照這種方式在電信設(shè)備中也嵌入多個(gè)頁面。由于每次升級(jí)時(shí)都需要對(duì)修改了的頁面文件進(jìn)行版本發(fā)布,這樣就需要申請(qǐng)多個(gè)受控頁面文件,不僅就會(huì)給版本發(fā)布帶來相當(dāng)?shù)穆闊┖驮黾庸芾沓杀?,而且還可能會(huì)造成一個(gè)設(shè)備中的頁面文件有多個(gè)版本。
發(fā)明內(nèi)容
本發(fā)明提供一種頁面訪問的實(shí)現(xiàn)方法,以解決在電信設(shè)備中實(shí)現(xiàn)Web服務(wù)時(shí)存在管理成本高和可能造成頁面文件版本不統(tǒng)一的問題。
一種頁面訪問的實(shí)現(xiàn)方法,包括如下步驟A、將多個(gè)頁面文件合并成一個(gè)目標(biāo)文件保存在服務(wù)端;B、所述服務(wù)端在接收到客戶端對(duì)頁面的訪問請(qǐng)求時(shí),從所述目標(biāo)文件中查找指定的頁面內(nèi)容,將該頁面內(nèi)容寫入?yún)f(xié)議報(bào)文并發(fā)送到客戶端;并且,在所述目標(biāo)文件中的任意一個(gè)頁面文件內(nèi)容被更新時(shí),發(fā)布整個(gè)目標(biāo)文件。
步驟A包括如下步驟
A1、掃描需要合并的所有頁面文件,并記錄各頁面文件的文件信息;A2、根據(jù)所述文件信息將各頁面文件的內(nèi)容寫入所述目標(biāo)文件,并在該目標(biāo)文件中生成各頁面文件內(nèi)容的索引信息和在目標(biāo)文件的首部生成文件頭信息;A3、在服務(wù)端保存該目標(biāo)文件。
步驟B中從目標(biāo)文件中查找指定的頁面內(nèi)容包括如下步驟B1、服務(wù)端從訪問請(qǐng)求中獲得頁面文件的文件名;B2、根據(jù)所述文件名從文件索引信息獲得該文件指針偏移位置;B3、根據(jù)文件內(nèi)容的起始位置和偏移量獲得所述文件的內(nèi)容。
在保存目標(biāo)文件之前先采用壓縮算法對(duì)其進(jìn)行壓縮處理,并在將目標(biāo)文件讀入內(nèi)存時(shí)進(jìn)行解壓縮處理。
本發(fā)明將多個(gè)頁面文件合并成一個(gè)文件保存在服務(wù)端,對(duì)于需要實(shí)現(xiàn)web網(wǎng)管的設(shè)備在發(fā)布頁面文件時(shí)只需要提供一個(gè)文件即可。因此,采用本發(fā)明能夠?qū)姹究刂频膶?duì)象數(shù)量縮減為一個(gè),不僅可以降低管理成本,還可避免出現(xiàn)頁面文件版本不統(tǒng)一的情況。
圖1為在電信設(shè)備中實(shí)現(xiàn)Web服務(wù)的組網(wǎng)示意圖;圖2為本發(fā)明中文件合并的示意圖;圖3為本發(fā)明的流程圖。
具體實(shí)施例方式
本實(shí)施例主要以在電信設(shè)備中的Web網(wǎng)管對(duì)本發(fā)明進(jìn)行說明。
參閱圖1所示,頁面文件保存在作為服務(wù)端的網(wǎng)元設(shè)備上,客戶端以瀏覽器作為管理界面,并通過IP網(wǎng)絡(luò)連接到網(wǎng)元設(shè)備。
為了避免每次網(wǎng)管升級(jí)時(shí)都需要單獨(dú)對(duì)修改的頁面都進(jìn)行版本發(fā)布,本發(fā)明將多個(gè)頁面合并成一個(gè)目標(biāo)文件中保存在網(wǎng)元設(shè)備中,當(dāng)客戶端通過瀏覽器請(qǐng)求訪問頁面時(shí),網(wǎng)元設(shè)備在從所述目標(biāo)文件中查找指定的頁面內(nèi)容寫入?yún)f(xié)議報(bào)文并發(fā)送到客戶端。
當(dāng)修改了網(wǎng)元設(shè)備中的任何一個(gè)頁面時(shí)都需要統(tǒng)一發(fā)布這個(gè)目標(biāo)文件,使得網(wǎng)元設(shè)備的所有頁面文件只有唯一的版本號(hào)。
合并后的目標(biāo)文件除了包括各頁面文件的內(nèi)容外,還包括文件頭、文件索引信息和文件名信息。文件頭內(nèi)容由預(yù)定的算法根據(jù)設(shè)備的協(xié)議來生成(可采用現(xiàn)有技術(shù)中生成文件頭的方法實(shí)現(xiàn)),文件索引信息的內(nèi)容包括1、偏移位置,指明某個(gè)頁面文件相對(duì)自定義文件頭的偏移量;2、頁面的大??;3、文件的最后修改日期;4、文件訪問權(quán)限。
頁面大小、最后修改日期、訪問權(quán)限都是頁面屬性供WEB服務(wù)器訪問響應(yīng)超文本傳輸協(xié)議(HTTP)時(shí)所用。例如用戶通過web瀏覽器訪問服務(wù)器的某個(gè)文件,WEB服務(wù)器在的得到這個(gè)請(qǐng)求后將生成HTTP協(xié)議,在這個(gè)協(xié)議包里面就必須包含這些信息。
文件名信息則羅列所有合并的頁面文件的名稱。
參閱圖2所示,在根目錄root下有兩個(gè)子目錄images和html,在兩個(gè)子目錄下分別有文件a.gif、b.jpg和a.html、b.asp,合并文件的過程如下步驟1、掃描根目錄和子目錄下所有頁面文件。在這個(gè)例子有兩個(gè)子目錄images和html。
步驟2、記錄掃描到的每個(gè)頁面文件的文件信息。
文件信息內(nèi)容包括文件路徑名、文件名、文件大小、文件的最后修改日期和文件的訪問權(quán)限。
步驟3、生成一個(gè)目標(biāo)文件page.web,將文件索引信息、文件名信息以及文件數(shù)據(jù)內(nèi)容寫入page.web中。文件索引信息根據(jù)步驟2中記錄的文件信息生成。
步驟4、使用文件頭生成工具將自定義文件頭寫到目標(biāo)文件page.web的首部,并保存該目標(biāo)文件。
為了使合并后的目標(biāo)文件page.web減小,在合并過程中將各頁面文件里多余的字符,例如空格、注釋語句等刪除掉(因?yàn)檫@些內(nèi)容不會(huì)展示給客戶端),從而合并后的目標(biāo)文件page.web大小比多個(gè)頁面文件累加在一起更小。
考慮到在網(wǎng)元設(shè)備中閃存(flash)空間比較寶貴,在保存目標(biāo)文件page.web前采用壓縮算法對(duì)其進(jìn)行壓縮處理,并在設(shè)備啟動(dòng)時(shí)再解壓讀入內(nèi)存中。
參閱圖3,本發(fā)明的整個(gè)流程如下步驟1、合并所有的頁面文件為一個(gè)目標(biāo)文件;步驟2、壓縮目標(biāo)文件并保存在網(wǎng)元設(shè)備中;步驟3、啟動(dòng)網(wǎng)元設(shè)備,將目標(biāo)文件一次讀進(jìn)內(nèi)存并解壓縮,這樣可以避免頻繁讀取閃存操作;步驟4、網(wǎng)元設(shè)備接收到客戶端訪問某個(gè)頁面的請(qǐng)求時(shí),網(wǎng)元設(shè)備中的WEB服務(wù)器根據(jù)文件偏移獲得文件內(nèi)容。
比如訪問某個(gè)頁面為b.jpg文件時(shí),web服務(wù)器先得到頁面文件的文件名,然后根據(jù)文件名從文件索引信息獲得該文件指針偏移位置,再根據(jù)文件偏移即可獲得該文件的內(nèi)容。
步驟5、WEB服務(wù)器將文件內(nèi)容寫入HTTP協(xié)議報(bào)文里并發(fā)送到客戶端,這樣web瀏覽器在收到這個(gè)報(bào)文的時(shí)候就可以看到b.jpg這個(gè)文件的內(nèi)容了。
雖然在網(wǎng)元設(shè)備中將多個(gè)頁面文件合并成了一個(gè)文件,但對(duì)用戶來說訪問的還是原來的單一頁面元素,顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種頁面訪問的實(shí)現(xiàn)方法,其特征在于包括如下步驟A、將多個(gè)頁面文件合并成一個(gè)目標(biāo)文件保存在服務(wù)端;B、所述服務(wù)端在接收到客戶端對(duì)頁面的訪問請(qǐng)求時(shí),從所述目標(biāo)文件中查找指定的頁面內(nèi)容,將該頁面內(nèi)容寫入?yún)f(xié)議報(bào)文并發(fā)送到客戶端;并且,在所述目標(biāo)文件中的任意一個(gè)頁面文件內(nèi)容被更新時(shí),發(fā)布整個(gè)目標(biāo)文件。
2.如權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,步驟A包括如下步驟A1、掃描需要合并的所有頁面文件,并記錄各頁面文件的文件信息;A2、根據(jù)所述文件信息將各頁面文件的內(nèi)容寫入所述目標(biāo)文件,并在該目標(biāo)文件中生成各頁面文件內(nèi)容的索引信息和在目標(biāo)文件的首部生成文件頭信息;A3、在服務(wù)端保存該目標(biāo)文件。
3.如權(quán)利要求2所述的實(shí)現(xiàn)方法,其特征在于,步驟B中從目標(biāo)文件中查找指定的頁面內(nèi)容包括如下步驟B1、服務(wù)端從訪問請(qǐng)求中獲得頁面文件的文件名;B2、根據(jù)所述文件名從文件索引信息獲得該文件指針偏移位置;B3、根據(jù)文件內(nèi)容的起始位置和偏移量獲得所述文件的內(nèi)容。
4.如權(quán)利要求1、2或3所述的實(shí)現(xiàn)方法,其特征在于,當(dāng)所述服務(wù)端啟動(dòng)時(shí),將整個(gè)目標(biāo)文件讀入內(nèi)存。
5.如權(quán)利要求4所述的實(shí)現(xiàn)方法,其特征在于,在保存目標(biāo)文件之前先采用壓縮算法對(duì)其進(jìn)行壓縮處理,并在將目標(biāo)文件讀入內(nèi)存時(shí)進(jìn)行解壓縮處理。
6.如權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,將各頁面文件的內(nèi)容寫入目標(biāo)文件時(shí),刪除多余的字符。
全文摘要
本發(fā)明公開了一種頁面訪問的實(shí)現(xiàn)方法,以解決在電信設(shè)備中實(shí)現(xiàn)Web服務(wù)時(shí)存在管理成本高和可能造成頁面文件版本不統(tǒng)一的問題;該方法將多個(gè)頁面文件合并成一個(gè)目標(biāo)文件保存在服務(wù)端;服務(wù)端在接收到客戶端對(duì)頁面的訪問請(qǐng)求時(shí),從所述目標(biāo)文件中查找指定的頁面內(nèi)容并將該頁面內(nèi)容寫入?yún)f(xié)議報(bào)文并發(fā)送到客戶端;以及在所述目標(biāo)文件中的任意一個(gè)頁面文件內(nèi)容被更新時(shí),發(fā)布整個(gè)目標(biāo)文件。
文檔編號(hào)G06F17/30GK1835499SQ20051005523
公開日2006年9月20日 申請(qǐng)日期2005年3月16日 優(yōu)先權(quán)日2005年3月16日
發(fā)明者尤乾坤, 周江濤, 陳天祥 申請(qǐng)人:華為技術(shù)有限公司