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