專利名稱:web服務(wù)器及其web服務(wù)方法
技術(shù)領(lǐng)域:
本發(fā)明的各方面涉及一種web服務(wù)器及其web服務(wù)方法,更具體地講, 涉及一種壓縮并提供請(qǐng)求的web資源的web服務(wù)器及其web服務(wù)方法。
背景技術(shù):
近年來(lái)互聯(lián)網(wǎng)經(jīng)歷了巨大的發(fā)展。萬(wàn)維網(wǎng)的出現(xiàn)使得世界各地?cái)?shù)百萬(wàn)的 互聯(lián)網(wǎng)用戶能夠容易地通過(guò)家庭、工作場(chǎng)所或遠(yuǎn)端的主機(jī)或無(wú)線裝置來(lái)下載 包含文本、圖形、視頻和/或聲音數(shù)據(jù)的網(wǎng)頁(yè)。這些網(wǎng)頁(yè)通常都很大。其結(jié)果 是,需要很長(zhǎng)時(shí)間來(lái)下載這些網(wǎng)頁(yè),從而使得用戶受到延遲和挫折。用戶時(shí) 常由于延遲而不得不放棄請(qǐng)求的網(wǎng)頁(yè)并轉(zhuǎn)到其他網(wǎng)頁(yè),這導(dǎo)致許多商業(yè)網(wǎng)站 的收入和曝光率受損。下載網(wǎng)頁(yè)的延遲可能由多種因素引起。在服務(wù)器端,大量的網(wǎng)頁(yè)請(qǐng)求可 能導(dǎo)致服務(wù)器容量超負(fù)荷并導(dǎo)致未應(yīng)答請(qǐng)求或延遲應(yīng)答請(qǐng)求。在計(jì)算機(jī)網(wǎng)絡(luò) 中,網(wǎng)絡(luò)擁塞和有限帶寬可能引起數(shù)據(jù)傳輸?shù)难舆t。特別地,與為通用計(jì)算 機(jī)(如個(gè)人計(jì)算機(jī)或工作站)開(kāi)發(fā)的web服務(wù)器相比,安裝在小型網(wǎng)絡(luò)裝置 中的嵌入式web服務(wù)器性能較差。圖1是典型的網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)的示圖。具體地講,圖1示出了在第 6,834,297號(hào)美國(guó)專利中描述的網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)及其方法。如圖1所示,描 述的網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)IO具有一個(gè)或多個(gè)位于web服務(wù)器11之前并由客戶 機(jī)終端13經(jīng)由諸如廣域網(wǎng)(WAN) 14的網(wǎng)絡(luò)進(jìn)行訪問(wèn)的專用機(jī)器12。還包 括管理服務(wù)器15以使得管理員(即,網(wǎng)絡(luò)管理者)能夠管理網(wǎng)絡(luò)數(shù)據(jù)傳輸系 統(tǒng)10。每個(gè)機(jī)器12用作web服務(wù)器11的代理服務(wù)器,并執(zhí)行負(fù)載平衡、從 web服務(wù)器11下載資源、壓縮內(nèi)容等。在這種情況下,通過(guò)使用比傳輸控制 協(xié)議(TCP)低級(jí)的協(xié)議增加了與各web服務(wù)器11通信的速度。具體地講, 在提供web資源的情況下,機(jī)器12壓縮圖像(等),然后將普通標(biāo)簽標(biāo)記語(yǔ) 言(GTML)的圖像(等)統(tǒng)一資源定位符(URL)改變?yōu)閴嚎s的圖像URL 以提供壓縮的圖像URL。當(dāng)瀏覽器執(zhí)行渲染時(shí),超文本標(biāo)記語(yǔ)言(HTML)去除不必要的各種標(biāo)簽、標(biāo)簽的屬性以及各種注釋。在第6,834,297號(hào)美國(guó)專利中公開(kāi)的系統(tǒng)中,web服務(wù)器11主要壓縮 HTML,并不壓縮JavaScript。在使用JavaScript的情況下(例如,在頁(yè)面具 有動(dòng)態(tài)用戶界面時(shí)),JavaScript代碼的大小通常大于HTML代碼的大小。然 而,第6,834,297號(hào)美國(guó)專利中公開(kāi)的系統(tǒng)具有不壓縮JavaScript的問(wèn)題。此 外,因?yàn)閴嚎s內(nèi)容不是web服務(wù)器11的任務(wù),而是由web服務(wù)器級(jí)的另一 服務(wù)器來(lái)執(zhí)行,所以難以將該系統(tǒng)應(yīng)用到嵌入式裝置。發(fā)明內(nèi)容本發(fā)明的多個(gè)方面和示例性實(shí)施例提供了一種能夠通過(guò)使用包括不同類 型的符號(hào)字符的組合的字符串替代web資源的文件的字符串而有效地減小文 件的大小的web服務(wù)器及其web服務(wù)方法。本發(fā)明另外的方面和/或優(yōu)點(diǎn)在下面的描述中將部分地被闡明,通過(guò)該描 述,部分地將會(huì)變得更加清楚,或者通過(guò)實(shí)施本發(fā)明可以了解。根據(jù)本發(fā)明的示例性實(shí)施例, 一種web服務(wù)器包括壓縮單元,使用包 括不同類型的符號(hào)字符的組合的字符串替代web資源的文件的字符串,以壓 縮所述字符串;存儲(chǔ)單元,存儲(chǔ)web資源的壓縮信息;和控制單元,如果請(qǐng) 求web服務(wù),則根據(jù)存儲(chǔ)在存儲(chǔ)單元中的壓縮信息運(yùn)行所述web資源,并提 供請(qǐng)求的web服務(wù)。根據(jù)本發(fā)明的一方面,所述文件可以是超文本標(biāo)記語(yǔ)言(HTML)文件 和JavaScript文件中的至少 一個(gè)。根振本發(fā)明的一方面,文本壓縮單元可壓縮包括在JavaScript文件中的 JavaScript函lt名和變量名。根據(jù)本發(fā)明的一方面,文本壓縮單元可壓縮包括在HTML文件中的標(biāo)簽ID。根據(jù)本發(fā)明的一方面,如果與請(qǐng)求的web資源相應(yīng)的壓縮信息沒(méi)有存儲(chǔ) 在存儲(chǔ)單元中,則控制單元可控制壓縮單元壓縮請(qǐng)求的web資源的文件。根據(jù)本發(fā)明的一方面,壓縮單元可使用包括英文字符類型的符號(hào)字符和 數(shù)字類型的符號(hào)字符的組合的字符串替代所述文件的字符串。根據(jù)本發(fā)明的一方面,所述web服務(wù)器可以是包括在可擴(kuò)展家庭影院 (XHT)網(wǎng)絡(luò)的裝置中的嵌入式web服務(wù)器。根據(jù)本發(fā)明的另一示例性實(shí)施例, 一種為壓縮并提供請(qǐng)求的web資源的 web服務(wù)器提供web服務(wù)的方法包括使用包括不同類型的符號(hào)字符的組合 的字符串替代web資源的文件的字符串,以壓縮所述字符串;存儲(chǔ)web資源 的壓縮信息;和如果請(qǐng)求web服務(wù),則根據(jù)存儲(chǔ)在存儲(chǔ)單元中的壓縮信息運(yùn) 行所述web資源,并提供請(qǐng)求的web服務(wù)。才艮據(jù)本發(fā)明的一方面,所述文件可以是HTML文件和JavaScript文件中 的至少一個(gè)。根據(jù)本發(fā)明的一方面,所述替代的步驟可包括壓縮包括在JavaScript 文件中的JavaScript函數(shù)名和變量名。根據(jù)本發(fā)明的一方面,所述替代的步驟可包括壓縮包括在HTML文件 中的標(biāo)簽ID。根據(jù)本發(fā)明的一方面,所述提供web服務(wù)的方法還可包括確認(rèn)是否存 儲(chǔ)了與請(qǐng)求的web資源相應(yīng)的壓縮信息;和如果沒(méi)有存儲(chǔ)所述壓縮信息,則 壓縮請(qǐng)求的web資源的文件。根據(jù)本發(fā)明的一方面,所述替代的步驟可包括使用包括英文字符類型 的符號(hào)字符和數(shù)字類型的符號(hào)字符的組合的字符串替代所述文件的字符串。根據(jù)本發(fā)明的一方面,所述web服務(wù)器可以是包括在XHT網(wǎng)絡(luò)的裝置 中的嵌入式web服務(wù)器。根據(jù)本發(fā)明的另一示例性實(shí)施例, 一種提供請(qǐng)求的web資源的web服務(wù) 器包括壓縮單元,將web資源的文件的第一字符串替換為包括不同類型的 符號(hào)字符的組合的第二字符串,以壓縮所述第一字符串;和控制單元,當(dāng)請(qǐng) 求web資源時(shí),提供具有所述第二字符串的web資源。根據(jù)本發(fā)明的另一示例性實(shí)施例, 一種為壓縮并提供請(qǐng)求的web資源的 web服務(wù)器提供web服務(wù)的方法包括將web資源的文件的第一字符串替換 為包括不同類型的符號(hào)字符的組合的第二字符串,以壓縮所述第一字符串; 和當(dāng)請(qǐng)求web資源時(shí),提供具有所述第二字符串的壓縮的web資源。根據(jù)本發(fā)明的另一示例性實(shí)施例, 一種提供請(qǐng)求的web資源的web服務(wù) 器包括壓縮單元,將web資源的JavaScript文件的第一字符串替換為小于 所述第一字符串的第二字符串;和控制單元,當(dāng)請(qǐng)求web資源時(shí),提供具有 所述第二字符串的web資源。除了上述示例性實(shí)施例和方面之外,通過(guò)參照附圖并通過(guò)研讀以下描述,另外的方面和實(shí)施例將是清楚的。
當(dāng)結(jié)合組成本發(fā)明公開(kāi)的一部分的附圖進(jìn)行閱讀時(shí),通過(guò)對(duì)示例性實(shí)施 例和權(quán)利要求的詳細(xì)描述,對(duì)本發(fā)明更好的理解將變得清楚。雖然以下描述 和示出的公開(kāi)集中于公開(kāi)本發(fā)明的示例性實(shí)施例,但是應(yīng)該清楚地理解,本 發(fā)明的示例性實(shí)施例僅是說(shuō)明和示例性的,本發(fā)明不限于此。本發(fā)明的精神和范圍僅根據(jù)權(quán)利要求來(lái)限定。以下表示附圖的簡(jiǎn)要描述,其中 圖1是典型的網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)的示圖;圖2是示出根據(jù)本發(fā)明示例性實(shí)施例的web服務(wù)器的結(jié)構(gòu)的框圖; 圖3是示出根據(jù)本發(fā)明示例性實(shí)施例的基于XHT通信方法連接多個(gè)裝置 的XHT網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)的框圖;' 圖4A和圖4B是示出根據(jù)本發(fā)明示例性實(shí)施例的常用的正則表達(dá)式的示 例的示圖;圖5是示出根據(jù)本發(fā)明示例性實(shí)施例的JavaScript文件的函數(shù)名和變量圖6是示出根據(jù)本發(fā)明示例性實(shí)施例的可用作壓縮變量的符號(hào)字符組合 的示例的示圖;圖7A和圖7B是示出根據(jù)本發(fā)明示例性實(shí)施例的應(yīng)用壓縮之前和之后的 JavaScript形式的示例的示圖;圖8是示出根據(jù)本發(fā)明示例性實(shí)施例的web服務(wù)器提供web服務(wù)的方法 的流程圖;和圖9是示出根據(jù)本發(fā)明另一示例性實(shí)施例的web服務(wù)器提供web服務(wù)的 方法的流程圖。
具體實(shí)施方式
現(xiàn)在對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)的描述,其示例在附圖中示出,其中,相 同的標(biāo)號(hào)始終表示相同部件。下面通過(guò)參照附圖對(duì)實(shí)施例進(jìn)行描述以解釋本 發(fā)明。圖2是示出根據(jù)本發(fā)明示例性實(shí)施例的web服務(wù)器200的結(jié)構(gòu)的框圖。 參照?qǐng)D2, web服務(wù)器200包括壓縮單元210、存儲(chǔ)單元220和控制單元230。web服務(wù)器200可以是一般的web服務(wù)器,或者是嵌入式web服務(wù)器。 具體地講,本發(fā)明的各方面可通過(guò)嵌入到包括在可擴(kuò)展家庭影院(XHT)網(wǎng) 絡(luò)中的裝置內(nèi)的嵌入式web服務(wù)器來(lái)實(shí)現(xiàn)。這里,XHT網(wǎng)絡(luò)是使用XHT通 信方法的網(wǎng)絡(luò)系統(tǒng)。XHT通信方法是能夠通過(guò)使用IEEE 1394線纜來(lái)控制連 接到一個(gè)數(shù)字TV( DTV )或多個(gè)數(shù)字TV的視頻和音頻裝置的技術(shù)。IEEE 1394 線纜可通過(guò)使用作為互聯(lián)網(wǎng)中主要使用的通信標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議(IP)穩(wěn)定 地傳送1394協(xié)議上的多個(gè)高清晰度(HD)信號(hào)。圖3是示出根據(jù)本發(fā)明示例性實(shí)施例的基于XHT通信方法連接多個(gè)裝置 的XHT網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)的框圖。參照?qǐng)D3,經(jīng)由IEEE 1394線纜來(lái)連接多個(gè) 裝置。這些裝置包括DTVl 310、 DTV2 320、機(jī)頂盒(STB) 330、音頻/視 頻硬盤驅(qū)動(dòng)器(AV HDD) 340、數(shù)字視頻家庭系統(tǒng)(D-VHS ) 350、網(wǎng)絡(luò)接 口單元(NIU) 360、 MSNTV服務(wù)器370等。這里,D-VHS 350是用于DTV 記錄的大容量記錄視頻的存儲(chǔ)器,NIU 360是基于XHT技術(shù)開(kāi)發(fā)的廉價(jià)網(wǎng)絡(luò) 接口單元。D-VHS 350的形式為存儲(chǔ)卡,因此可根據(jù)接收類型(如地波類型、 衛(wèi)星類型、線纜類型等)被容易地修改,從而減輕廣播提供商的經(jīng)濟(jì)負(fù)擔(dān)。 NIU 360以及數(shù)字TV是構(gòu)成XHT的重要部件。NIU 360是一種數(shù)字裝置, 其使得以最小成本提供高質(zhì)量視頻/音頻服務(wù)以應(yīng)對(duì)數(shù)字TV市場(chǎng)增加的普及 成為可能。IEEE 1394是由電氣電子工程師協(xié)會(huì)(IEEE)標(biāo)準(zhǔn)化的新的串行接口。 蘋果電腦公司首先開(kāi)發(fā)了稱為FireWire的接口作為替代小型計(jì)算機(jī)系統(tǒng)接口 (SCSI)的標(biāo)準(zhǔn),IEEE于1995年正式采用該標(biāo)準(zhǔn)。IEEE 1394已經(jīng)凈皮開(kāi)發(fā)作 為用于將除了計(jì)算機(jī)外圍設(shè)備以外的家庭裝置(如視頻相機(jī)、音頻設(shè)備、TV、 盒式錄像機(jī)(VCR)等)連接到個(gè)人計(jì)算機(jī)(PC )的接口 。目前,IEEE 1394 具有三種數(shù)據(jù)傳輸率(每秒IOOMB、每秒200MB和每秒400MB )。例如,通過(guò)使用這種XHT通信方法,臥室中的人可通過(guò)使用位于客廳中 的DTV的數(shù)字廣播接收功能在沒(méi)有設(shè)置數(shù)字廣播接收機(jī)的DTV上觀看數(shù)字 廣播。以相同的方式,即使在只有位于客廳中的DTV設(shè)置有DVD播放器、 家庭影院、錄像機(jī)等的情況下,另一房間中的人也能通過(guò)經(jīng)由互聯(lián)網(wǎng)連接到 該DTV的遙控器的簡(jiǎn)單操作,從該DTV訪問(wèn)內(nèi)容(如電影、音樂(lè)、游戲、 教育內(nèi)容等)。在這種情況下,XHT網(wǎng)絡(luò)中的裝置包括嵌入式web服務(wù)器以 執(zhí)行XHT通信。嵌入式web服務(wù)器是安裝在小型網(wǎng)絡(luò)設(shè)備中的web服務(wù)器,與一般的 web服務(wù)器相比,嵌入式web服務(wù)器具有簡(jiǎn)單的功能。也就是說(shuō),例如,嵌 入式web服務(wù)器可以是為了安裝到小型網(wǎng)絡(luò)裝置的目的而開(kāi)發(fā)的一種軟件, 該軟件具有比為了通用計(jì)算機(jī)(如個(gè)人計(jì)算機(jī)或工作站)而開(kāi)發(fā)的web服務(wù) 器需要更少資源的功能。web瀏覽器將嵌入式系統(tǒng)連接到互聯(lián)網(wǎng),從而該系統(tǒng)可讀取web文檔。 通過(guò)這樣處理,該系統(tǒng)連接到網(wǎng)絡(luò)系統(tǒng)以確認(rèn)裝置與網(wǎng)絡(luò)的當(dāng)前狀態(tài)并將控 制命令傳送到網(wǎng)絡(luò)系統(tǒng)。也就是說(shuō),例如,具有連接到互聯(lián)網(wǎng)的移動(dòng)計(jì)算機(jī) 的網(wǎng)絡(luò)管理者可以隨時(shí)隨地管理網(wǎng)絡(luò)裝置或連接所述網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)。參照?qǐng)D2,壓縮單元210使用包括不同類型的符號(hào)字符的組合的字符串 替代web資源的文件的字符串以壓縮所述字符串。這里,web資源的文件可 包括超文本標(biāo)記語(yǔ)言(HTML)文件和JavaScript文件。HTML是一種對(duì)源于標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)的超文本進(jìn)行標(biāo)記的 語(yǔ)言。語(yǔ)法包括HTML標(biāo)簽,并且通常用于在互^:網(wǎng)上顯示網(wǎng)頁(yè)??赏ㄟ^(guò)一 般的web瀏覽器讀取HTML,并且可通過(guò)超文本傳輸協(xié)議(HTTP)來(lái)傳輸 HTML。此外,HTML可具有嵌入到其中的各種語(yǔ)言,所述各種語(yǔ)言包括執(zhí) 行簡(jiǎn)單操作(如檢查住戶注冊(cè)號(hào),檢查信用卡有效性等)的JavaScript。JavaScript是一種可以直接嵌入到HTML頁(yè)面的以對(duì)象為中心的強(qiáng)大的 腳本語(yǔ)言,并且JavaScript可在web瀏覽器中實(shí)現(xiàn)動(dòng)態(tài)交互式應(yīng)用。此外, JavaScript可加強(qiáng)動(dòng)態(tài)HTML (DHTML)的功能。JavaScript的語(yǔ)法基于能夠 容易地學(xué)習(xí)的編程語(yǔ)言,如C、 C+十和Java。此外,因?yàn)镴avaScript是解釋器 腳本語(yǔ)言,所以與其他語(yǔ)言相比,JavaScript較少受到根據(jù)編程環(huán)境的限制的 影響。壓縮單元210可壓縮JavaScript文件的JavaScript函凄t名和變量名以及 HTML文件的標(biāo)簽ID。為此,例如,壓縮單元210可通過(guò)^f吏用正則表達(dá)式來(lái) 讀取JavaScript文件的JavaScript函數(shù)名和變量名以及HTML文件的標(biāo)簽ID 模式。圖4A和圖4B是示出根據(jù)本發(fā)明示例性實(shí)施例的常用的正則表達(dá)式的示 例的示圖。正則表達(dá)式是定義復(fù)雜的模式匹配和替換規(guī)則的字符串。正則表 達(dá)式包括各種預(yù)定義的特殊字符的組合,以檢索包括在文件中的特殊模式(或 滿足特殊條件的字符串)或者JavaScript或HTML文件的字符串。正則表達(dá)式由可通過(guò)記憶值筒單表示的符號(hào)形成。例如,單一字符串"."可指示"與 特定的單一字符串匹配",字符"+"可指示"具有一個(gè)或多個(gè)在前字符的表 達(dá)式"。正則表達(dá)式具有測(cè)試字符串中存在的模式的功能。通過(guò)使用正則表達(dá)式, 特定文本在文檔中被識(shí)別,并且可被完全去除或由另一文本替換。此外,不 完全檢索的字符串基于模式符合從字符串中被提取。也就是說(shuō),正則表達(dá)式 具有從文檔或輸入字段中搜索特定文本的功能。例如,如果需要通過(guò)搜索整個(gè)網(wǎng)站來(lái)去除舊的數(shù)據(jù)和/或需要改變一些HTML格式標(biāo)簽,則正則表達(dá)式可 用于檢查舊的數(shù)據(jù)或HTML格式標(biāo)簽是否存在于特定文件中。通過(guò)使用這種 方法,受影響的文件的范圍限于去除或改變的文件。其后,通過(guò)使用正則表 達(dá)式,去除舊的數(shù)據(jù),并且搜索和改變將被替換的一個(gè)或多個(gè)標(biāo)簽。即使在不支持字符串處理功能的語(yǔ)言中,也可使用正則表達(dá)式。例如, 包括在Visual Basic中的VBScript具有多種字符串處理功能,而與C語(yǔ)言的 方式相同,JavaScript沒(méi)有這種功能。可用于執(zhí)行某一操作的幾種方法被定義 在字符串中,并且字符串類通過(guò)提供長(zhǎng)度屬性來(lái)執(zhí)行報(bào)告字符串具有的字符 的數(shù)量的功能。然而,字符串類不足以執(zhí)行各種字符處理功能。正則表達(dá)式 極大地改善了 JavaScript的字符處理功能,并且處理信號(hào)表達(dá)式中的多個(gè)字符 串,從而正則表達(dá)式可有效地用于VBScript。圖5是示出根據(jù)本發(fā)明示例性實(shí)施例的JavaScript文件的函數(shù)名和變量函數(shù)的模式可以是"foncMyFunction08"的形式。相關(guān)的正則表達(dá)式表示字 符范圍[A-Z],并在預(yù)定范圍內(nèi)搜索字符。例如,[A-Z]指示對(duì)從"A,,到"Z" 的所有大寫字母進(jìn)行搜索。此外,"*"指示對(duì)不完全表達(dá)式的在前字符進(jìn)行搜索。例如,"zo*,,指示搜索"z,,和"zoo"。通過(guò)使用諸如圖4A和圖4B所示的正則表達(dá)式,以模式的形式(如圖5 所示)讀取的JavaScript文件的函數(shù)名和變量名以及HTML文件的標(biāo)簽ID的 字符串由不同類型的符號(hào)字符的組合替換。這里,不同類型的符號(hào)字符的組 合可以是包括英文字符類型的符號(hào)字符和數(shù)字類型的符號(hào)字符的組合的字符 串。圖6是示出根據(jù)本發(fā)明示例性實(shí)施例的可用作壓縮變量的符號(hào)字符組合 的示例的示圖。參照?qǐng)D6,例如可包括一個(gè)英文字符和一個(gè)數(shù)字的符號(hào)字符組合的數(shù)量可以是26xl0 (見(jiàn)圖6中的(a)),并且例如可包括兩個(gè)英文字符 和一個(gè)數(shù)字的符號(hào)字符組合的數(shù)量可以是27x26xl0-26xl0(見(jiàn)圖6中的(b))。 例如,如果通過(guò)圖2所示的壓縮單元210而符合正則表達(dá)式的形式的 JavaScript的函凄t名禾口變量名是"flmcMyFunctionO 1 ,, 、 "flmcMyFunction02"、 "varMyVariableOl"和"varMyVariable02",并且到目前為止4吏用的壓縮變量 名是"c9",則它們可分別由"dO"、 "dl"、 "d2"和"d3"來(lái)替換。圖7A和圖7B是示出根據(jù)本發(fā)明示例性實(shí)施例的應(yīng)用壓縮之前和之后的 JavaScript形式的示例的示圖。如圖7A和圖7B所示,在應(yīng)用壓縮之后,復(fù) 雜的JavaScript函數(shù)名和變量名已經(jīng)被轉(zhuǎn)換為簡(jiǎn)單的函數(shù)名和變量名。例如, 壓縮變量"v8" 71'替代了位于第一行的函數(shù)名"funcSetCurrentChannel" 71, "x6" 72'替代了變量名"varProgramTitle,, 72。圖2所示的存儲(chǔ)單元220存儲(chǔ)web資源的壓縮信息(即,關(guān)于JavaScript 函數(shù)名和變量名的信息、根據(jù)HTML的標(biāo)簽ID的正則表達(dá)式的模式和相應(yīng) 的壓縮變量名)。這里,存儲(chǔ)單元220可以由包括在web服務(wù)器200中的高速 緩沖寄存器來(lái)實(shí)現(xiàn)。如果請(qǐng)求了 web服務(wù),則控制單元230根據(jù)存儲(chǔ)在存儲(chǔ)單元220中的壓 縮信息來(lái)運(yùn)行web資源,并提供請(qǐng)求的web服務(wù)??刂茊卧?30不提供原有 形式的JavaScript函數(shù)名和變量名(即,請(qǐng)求的web資源)以及HTML ID, 而是通過(guò)使用壓縮變量來(lái)提供它們,從而減少響應(yīng)時(shí)間。此外,如果與請(qǐng)求的web資源相應(yīng)的壓縮信息沒(méi)有存儲(chǔ)在存儲(chǔ)單元220 中,則控制單元230可控制壓縮單元210壓縮請(qǐng)求的web資源的文件。圖8是示出根據(jù)本發(fā)明示例性實(shí)施例的web服務(wù)器提供web服務(wù)的方法 的流程圖。這里,web服務(wù)器可以是如圖2所示嵌入到包括在XHT網(wǎng)絡(luò)中的 裝置內(nèi)的嵌入式web服務(wù)器。根據(jù)如圖8所示的提供web服務(wù)的方法,如果在操作S810中接收到web 資源請(qǐng)求,則在操作S820中,使用包括不同類型的符號(hào)字符的組合的字符串 來(lái)替代包括在請(qǐng)求的web資源中的文件的字符串。隨后壓縮替代的字符串。這里,包括在web資源中的文件可以是HTML文件和JavaScript文件中 的至少一個(gè)。此外,將一皮壓縮的對(duì)象可以是包括在JavaScript文件中的 JavaScript函數(shù)名和變量名以及包括在HTML文件中的標(biāo)簽ID。然后,在操作S830中,存儲(chǔ)在操作S820中產(chǎn)生的web資源的壓縮信息,并且在操作S840中,根據(jù)壓縮信息運(yùn)行web資源以提供請(qǐng)求的web服務(wù)。圖9是示出根據(jù)本發(fā)明另一示例性實(shí)施例的web服務(wù)器提供web服務(wù)的 方法的流程圖。根據(jù)如圖9所示的提供web服務(wù)的方法,如果在操作S910 中接收到web資源請(qǐng)求,則在操作S920中,確認(rèn)是否存儲(chǔ)了與從包括在請(qǐng) 求的web資源中的文件讀耳又的JavaScript函^t和文件以及HTML標(biāo)簽ID相 應(yīng)的壓縮^f言息。如果在操作S920中確定存儲(chǔ)了相應(yīng)的壓縮信息,則在操作S930中,根 據(jù)存儲(chǔ)的壓縮信息運(yùn)行web資源以提供請(qǐng)求的web服務(wù)。如果在操作S920中確定沒(méi)有存儲(chǔ)有相應(yīng)的壓縮信息,則在操作S940中, 使用包括不同類型的符號(hào)字符的組合的字符串來(lái)替代包括在請(qǐng)求的web資源 中的文件的字符串。隨后壓縮替代的字符串。例如,可以使用包括英文字符 類型的符號(hào)字符和數(shù)字類型的符號(hào)字符的組合的字符串來(lái)替代所述文件的字 符串。其后,在操作S950中,存儲(chǔ)web資源的壓縮信息(例如,JavaScript函 數(shù)名和變量名、HTML標(biāo)簽ID和相應(yīng)的壓縮變量)。然后,在操作S930中, 根據(jù)存儲(chǔ)的壓縮信息運(yùn)行web資源以提供請(qǐng)求的web服務(wù)。因此,增加了 web服務(wù)器的響應(yīng)速度,并且可以尋求程序保護(hù)的效果。如上所述,根據(jù)本發(fā)明的各方面,因?yàn)闇p小了嵌入式web服務(wù)器提供的 文本的大小,所以可以改善web服務(wù)器的性能。此外,通過(guò)JavaScript壓縮, 可尋求程序保護(hù)的效果。此外,因?yàn)镴avaScript不進(jìn)行語(yǔ)法分析,而是以文本匹配方法來(lái)進(jìn)行, 所以web服務(wù)器可以比通用的JavaScript壓縮引擎更快地執(zhí)行。此外,因?yàn)?使用模式匹配方法,所以使不應(yīng)被替代的函數(shù)或變量自然地偏離模式,從而 防止所述函數(shù)或變量被替代。如圖2所示的設(shè)備的各種組件,如控制單元230和壓縮單元210,可集 成到單個(gè)控制單元中,或者可選擇地,可以以軟件或硬件(如專用集成電路 (ASIC))形式來(lái)實(shí)現(xiàn)。這樣,這里描述的處理可廣泛地解釋為等同于由軟 件、硬件或者其組合來(lái)執(zhí)行。軟件模塊可由多種軟件語(yǔ)言(包括C、 C++、 Java、 Visual Basic及其他)來(lái)編寫。這些軟件模塊可包括還可存儲(chǔ)在一個(gè)或多個(gè)機(jī) 器可讀存儲(chǔ)介質(zhì)(如動(dòng)態(tài)或靜態(tài)隨機(jī)存取存儲(chǔ)器(DRAM或SRAM)、可擦 寫可編程只讀存儲(chǔ)器(EPROM)、電可擦寫可編程只讀存儲(chǔ)器(EEPROM)和閃存)、磁盤(如固定盤、軟盤和移動(dòng)盤)、其他磁介質(zhì)(包括磁帶)和光學(xué)介質(zhì)(如壓縮盤(CD)或數(shù)字視頻盤(DVD))上的數(shù)據(jù)和指令。軟件程 序或模塊的指令還可以以多種不同方式中的一種被載入或傳輸?shù)綗o(wú)線網(wǎng)絡(luò)上 的無(wú)線卡或任何計(jì)算裝置中。例如,包括存儲(chǔ)在軟盤、CD或DVD介質(zhì)、硬 盤上的指令或通過(guò)網(wǎng)絡(luò)接口卡、調(diào)制解調(diào)器或其他接口裝置傳輸?shù)闹噶畹拇?碼段可被載入到系統(tǒng)中,并作為相應(yīng)的軟件程序或模塊來(lái)運(yùn)行。在載入或傳 輸處理中,實(shí)現(xiàn)為(在電話線、網(wǎng)線、無(wú)線鏈路、線纜等上傳輸?shù)?載波的 數(shù)據(jù)信號(hào)可將包括指令的代碼段傳送到網(wǎng)絡(luò)節(jié)點(diǎn)或部件。這種載波可以是電 信號(hào)、光信號(hào)、聲音信號(hào)、電磁信號(hào)或其他類型信號(hào)的形式。雖然已經(jīng)示出并描述了本發(fā)明的示例性實(shí)施例,但是本領(lǐng)域技術(shù)人員以 及隨著技術(shù)的發(fā)展應(yīng)該理解,在不脫離本發(fā)明的范圍的情況下,可以進(jìn)行各 種改變和修改,并且可使用等同物替代本發(fā)明的部件。因此,本發(fā)明不限于 公開(kāi)的各種實(shí)施例,而是包括落入權(quán)利要求范圍內(nèi)的所有實(shí)施例。
權(quán)利要求
1、一種提供請(qǐng)求的web資源的web服務(wù)器,所述web服務(wù)器包括壓縮單元,將web資源的文件的第一字符串替換為包括不同類型的符號(hào)字符的組合的第二字符串,以壓縮所述第一字符串;和控制單元,當(dāng)請(qǐng)求web資源時(shí),提供具有所述第二字符串的web資源。
2、 如權(quán)利要求1所述的web服務(wù)器,還包括存儲(chǔ)單元,存儲(chǔ)與web資源相應(yīng)的壓縮信息,所述壓縮信息包括所述第 二字符串,其中,當(dāng)請(qǐng)求web資源時(shí),控制單元根據(jù)存儲(chǔ)的壓縮信息壓縮所 述web資源。
3、 如權(quán)利要求1所述的web服務(wù)器,其中,所述文件包括JavaScript 文件。
4、 如權(quán)利要求1所述的web服務(wù)器,其中,所述文件包括HTML文件 和JavaScript文件中的至少 一個(gè)。
5 、如權(quán)利要求3所述的web服務(wù)器,其中,壓縮單元壓縮包括在JavaScript 文件中的JavaScript函凄t名和變量名。
6、 如權(quán)利要求4所述的web服務(wù)器,其中,壓縮單元壓縮包括在HTML 文件中的標(biāo)簽ID。
7、 如權(quán)利要求1所述的web服務(wù)器,其中,所述第二字符串包括英文 字符類型的符號(hào)字符和數(shù)字類型的符號(hào)字符的組合。
8、 如權(quán)利要求1所述的web服務(wù)器,其中,所述web服務(wù)器是包括在 可擴(kuò)展家庭影院網(wǎng)絡(luò)的裝置中的嵌入式web服務(wù)器。
9、 一種壓縮并提供請(qǐng)求的web資源的web服務(wù)器提供web服務(wù)的方法, 所述方法包括將web資源的文件的第一字符串替換為包括不同類型的符號(hào)字符的組合 的第二字符串,以壓縮所述第一字符串;和當(dāng)請(qǐng)求web資源時(shí),提供具有所述第二字符串的壓縮的web資源。
10、 如權(quán)利要求9所述的方法,還包括存儲(chǔ)與web資源相應(yīng)的壓縮信息,所述壓縮信息包括所述第二字符串, 其中,提供壓縮的web資源的步驟包括當(dāng)請(qǐng)求web資源時(shí),根據(jù)存儲(chǔ)的壓縮信息壓縮所述web資源。
11、 如權(quán)利要求9所述的方法,其中,所述文件包括JavaScript文件。
12、 如權(quán)利要求11所述的方法,其中,替換第一字符串的步驟包括壓 縮包括在JavaScript文件中的JavaScript函數(shù)名和變量名。
13、 如權(quán)利要求9所述的方法,其中,所述web服務(wù)器是包括在可擴(kuò)展 家庭影院網(wǎng)絡(luò)的裝置中的嵌入式web服務(wù)器。
14、 一種提供請(qǐng)求的web資源的web服務(wù)器,所述web服務(wù)器包括 壓縮單元,將web資源的JavaScript文件的第一字符串替換為小于所述第一字符串的第二字符串;和控制單元,當(dāng)請(qǐng)求web資源時(shí),提供具有所述第二字符串的web資源。
15、 如權(quán)利要求14所述的web服務(wù)器,其中,所述第二字符串包括不 同類型的符號(hào)字符的組合以壓縮所述第一字符串。
16、 如權(quán)利要求14所述的web服務(wù)器,其中,壓縮單元壓縮包括在 JavaScript文件中的JavaScript函數(shù)名和變量名。
17、 如權(quán)利要求14所述的web服務(wù)器,其中,壓縮單元壓縮包括在web 資源的HTML文件中的標(biāo)簽ID。
全文摘要
一種壓縮web資源并提供壓縮的web資源的web服務(wù)器,所述web服務(wù)器包括壓縮單元,使用包括不同類型的符號(hào)字符的組合的字符串替代web資源的文件的字符串,以壓縮所述字符串;存儲(chǔ)單元,存儲(chǔ)web資源的壓縮信息;和控制單元,如果請(qǐng)求web服務(wù),則根據(jù)存儲(chǔ)在存儲(chǔ)單元中的壓縮信息運(yùn)行所述web資源,并提供請(qǐng)求的web服務(wù)。因此,提高了web服務(wù)器的響應(yīng)速度并保護(hù)了web資源程序。
文檔編號(hào)H04L29/08GK101217557SQ20071014921
公開(kāi)日2008年7月9日 申請(qǐng)日期2007年9月7日 優(yōu)先權(quán)日2007年1月3日
發(fā)明者權(quán)五植, 金起用 申請(qǐng)人:三星電子株式會(huì)社