本發(fā)明涉及互聯(lián)網(wǎng)通信技術(shù)領(lǐng)域,具體而言,涉及一種頁面數(shù)據(jù)傳輸方法及系統(tǒng)。
背景技術(shù):
移動終端安裝有瀏覽器的客戶端,在通過該客戶端瀏覽頁面時,服務(wù)器如何快速向客戶端返回頁面數(shù)據(jù)是影響頁面響應(yīng)速度的關(guān)鍵。而頁面數(shù)據(jù)包括主文檔頁面及與頁面解析相關(guān)的web資源。web資源包括圖片資源及外聯(lián)JavaScript(腳本)文件和CSS(Cascading Style Sheets,層疊樣式表)樣式文件等非圖web資源。其中,對于用戶高頻訪問的站點(diǎn),該站點(diǎn)各個路徑下的web資源相同或相似,因此避免重復(fù)下發(fā)相同的web資源是提高頁面響應(yīng)速度的關(guān)鍵。
目前,一般采用基于客戶端緩存技術(shù)的web資源傳輸方法,在該方法中,服務(wù)器獲取客戶端訪問的頁面域名對應(yīng)的頁面的web資源,判斷該web資源是否可以進(jìn)行緩存,如果可以,則向客戶端返回緩存標(biāo)識、該web資源及其唯一標(biāo)識??蛻舳烁鶕?jù)該緩存標(biāo)識緩存頁面域名、該web資源及其唯一標(biāo)識。當(dāng)客戶端再次發(fā)起該頁面域名下的頁面請求時,從緩存中確定與該頁面域名關(guān)聯(lián)的所有web資源,并把這些web資源的唯一標(biāo)識組成標(biāo)識集合,將該標(biāo)識集合包含在上述頁面請求中。服務(wù)器接收該頁面請求后,計算該頁面域名對應(yīng)的所有web資源的唯一標(biāo)識,比對計算的唯一標(biāo)識與該頁面請求包含的標(biāo)識集合中的唯一標(biāo)識,若標(biāo)識集合包含計算的某唯一標(biāo)識,則確定客戶端緩存了該唯一標(biāo)識對應(yīng)的web資源,則不返回該web資源,僅返回指示客戶端使用本地緩存的該web資源的指示信息??蛻舳私邮盏皆撝甘拘畔⒑?,直接使用本地緩存的該web資源來配合頁面解析。
上述傳輸web資源的方法對于用戶高頻訪問某些特定站點(diǎn)有一定效果,但用戶不一定只固定訪問某個站點(diǎn)。且客戶端緩存容量有限,可能由于緩存大量不影響頁面解析的圖片資源,導(dǎo)致影響頁面解析的非圖web資源的緩存量很低,在客戶端未緩存非圖web資源時服務(wù)器必須下發(fā)該非圖web資源的完整數(shù)據(jù),延長了頁面響應(yīng)時間,且浪費(fèi)傳輸流量。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例的目的在于提供一種頁面數(shù)據(jù)傳輸方法及系統(tǒng),在客戶端未緩存非圖web資源時,服務(wù)器只下發(fā)非圖web資源對應(yīng)的增量數(shù)據(jù)給客戶端,避免下發(fā)非圖web資源的完整數(shù)據(jù)。
本發(fā)明實施例提供了一種頁面數(shù)據(jù)傳輸方法,包括:
服務(wù)器建立一個或多個不同超級網(wǎng)頁模板并將其保存在其自身和客戶端中,每一個超級網(wǎng)頁模板包括在某一類網(wǎng)站的各路徑下的同類非圖web資源;
服務(wù)器接收并解析客戶端發(fā)送的頁面請求;
當(dāng)客戶端的本地緩存中保存有所需要的非圖web資源時,服務(wù)器指示該客戶端直接從客戶端的本地緩存中讀取所需要的非圖web資源,否則
服務(wù)器將根據(jù)頁面請求獲取的非圖web資源與所述超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù);
服務(wù)器將所述增量數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
優(yōu)選地,所述某一類網(wǎng)站滿足的條件包括:網(wǎng)站各路徑下的同類非圖web資源個數(shù)少于預(yù)設(shè)數(shù)值,且同類非圖web資源的總?cè)萘啃∮陬A(yù)設(shè)容量;網(wǎng)站的用戶訪問量高于預(yù)設(shè)閾值;網(wǎng)站的改版頻率低于預(yù)設(shè)頻率。
優(yōu)選地,還包括:所述超級網(wǎng)頁模板的數(shù)據(jù)結(jié)構(gòu)包括非圖web資源類型、網(wǎng)站的站點(diǎn)域名列表、所述超級網(wǎng)頁模板的版本號和將網(wǎng)站中所述非圖web資源類型的內(nèi)容合并成的文本數(shù)據(jù)。
優(yōu)選地,還包括:所述非圖web資源類型包括腳本類和樣式類。
優(yōu)選地,在所述服務(wù)器建立一個或多個不同超級網(wǎng)頁模板的步驟中, 該建立方法包括:
服務(wù)器確定組織架構(gòu)完全一致的多個網(wǎng)站并將該多個網(wǎng)站的站點(diǎn)域名組成站點(diǎn)域名列表;
服務(wù)器確定網(wǎng)站的各路徑下的非圖web資源類型,設(shè)定該超級網(wǎng)頁模板的版本號;
服務(wù)器將網(wǎng)站中該非圖web資源類型的內(nèi)容合并成文本數(shù)據(jù);
服務(wù)器通過預(yù)設(shè)的加密算法及編碼算法對所述文本數(shù)據(jù)進(jìn)行加密及編碼運(yùn)算,得到該超級網(wǎng)頁模板的標(biāo)識符,同時以該標(biāo)識符作為該超級網(wǎng)頁模板的文件名。
優(yōu)選地,所述服務(wù)器將網(wǎng)站中所述非圖web資源類型的內(nèi)容合并成文本數(shù)據(jù)的步驟,包括:
服務(wù)器基于文件級別把網(wǎng)站各路徑下的所述非圖web資源類型的內(nèi)容直接合并成文本數(shù)據(jù);或者,
服務(wù)器確定網(wǎng)站各路徑下的所述非圖web資源類型的內(nèi)容中各數(shù)據(jù)塊之間的相似程度,從各路徑下的所述非圖web資源類型的內(nèi)容中提取出相似程度大于預(yù)設(shè)相似值的數(shù)據(jù)塊,將提取的數(shù)據(jù)塊合并成文本數(shù)據(jù)。
優(yōu)選地,還包括:當(dāng)客戶端準(zhǔn)備訪問一網(wǎng)站時,檢索其保存的一個或多個超級網(wǎng)頁模板,找出適用于該網(wǎng)站的超級網(wǎng)頁模板,從本地緩存中獲取該網(wǎng)站的站點(diǎn)域名對應(yīng)的客戶端緩存列表,該客戶端緩存列表包括客戶端已緩存的該站點(diǎn)域名對應(yīng)的非圖web資源的標(biāo)識;客戶端發(fā)送頁面請求給服務(wù)器,在該頁面請求中提供所述網(wǎng)站的站點(diǎn)域名、超級網(wǎng)頁模板的標(biāo)識符、非圖web資源類型、版本號以及所述客戶端緩存列表。
優(yōu)選地,服務(wù)器從所述頁面請求中解析出網(wǎng)站的站點(diǎn)域名、超級網(wǎng)頁模板的標(biāo)識符、非圖web資源類型、版本號以及所述客戶端緩存列表;
所述服務(wù)器獲取與所述站點(diǎn)域名對應(yīng)的且與解析出的非圖web資源類型相同的非圖web資源;
計算所獲取的非圖web資源的標(biāo)識,確定所述客戶端緩存列表中是否 包含計算的標(biāo)識,若包含,則判斷出所需要的非圖web資源存在于該客戶端的本地緩存中,否則所需要的非圖web資源不存在于該客戶端的本地緩存中。
優(yōu)選地,在所述計算所獲取的非圖web資源的標(biāo)識的步驟中,包括:對所述非圖web資源對應(yīng)的地址及所述非圖web資源的內(nèi)容進(jìn)行哈希運(yùn)算,得到所述非圖web資源對應(yīng)的哈希值,將所述哈希值用作為所述非圖web資源的標(biāo)識。
優(yōu)選地,在所述服務(wù)器指示該客戶端直接從該客戶端的本地緩存中讀取所需要的非圖web資源的步驟中,包括:
服務(wù)器將已緩存指示信息發(fā)送給該客戶端,所述已緩存指示信息包括所需要的非圖web資源的標(biāo)識和已緩存標(biāo)識;
該客戶端接收所述已緩存指示信息,根據(jù)所需要的非圖web資源的標(biāo)識直接從客戶端本地緩存中獲取所需要的非圖web資源。
優(yōu)選地,在所述服務(wù)器將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù)的步驟中,包括:
服務(wù)器從所述頁面請求中解析出站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板的標(biāo)識符和版本號;
服務(wù)器根據(jù)解析出的所述超級網(wǎng)頁模板的標(biāo)識符和版本號,從其保存的一個或多個超級網(wǎng)頁模板中獲取對應(yīng)的超級網(wǎng)頁模板,根據(jù)獲取的非圖web資源和超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù)。
優(yōu)選地,還包括:所述服務(wù)器將已進(jìn)行增量壓縮運(yùn)算的非圖web資源的標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符及增量壓縮運(yùn)算結(jié)果緩存在服務(wù)器本地緩存系統(tǒng),該增量壓縮運(yùn)算結(jié)果為成功標(biāo)識及增量數(shù)據(jù),或者該增量壓縮運(yùn)算結(jié)果為失敗標(biāo)識。
優(yōu)選地,還包括:服務(wù)器進(jìn)行增量壓縮運(yùn)算之前,查詢服務(wù)器本地緩存系統(tǒng)是否緩存了非圖web資源的標(biāo)識及超級網(wǎng)頁模板的標(biāo)識符對應(yīng)的增量壓縮運(yùn)算結(jié)果;
當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果時,服務(wù)器將該非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù);
當(dāng)服務(wù)器本地緩存系統(tǒng)緩存了對應(yīng)的增量壓縮運(yùn)算結(jié)果時,直接從服務(wù)器本地緩存系統(tǒng)獲取對應(yīng)的增量壓縮運(yùn)算結(jié)果。
優(yōu)選地,所述當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果且服務(wù)器進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù)后,
服務(wù)器計算該增量數(shù)據(jù)的容量與非圖web資源的容量之間的比值,得到該非圖web資源對應(yīng)的增量壓縮率;
若該增量壓縮率小于預(yù)設(shè)壓縮閾值,則服務(wù)器將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符、成功標(biāo)識及該增量數(shù)據(jù)緩存到服務(wù)器本地緩存系統(tǒng);
若該增量壓縮率大于或等于所述預(yù)設(shè)壓縮閾值,則服務(wù)器通過所述增量緩存服務(wù)將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符及失敗標(biāo)識緩存到服務(wù)器本地緩存系統(tǒng)。
優(yōu)選地,還包括:根據(jù)該增量壓縮運(yùn)算結(jié)果對所述頁面請求進(jìn)行應(yīng)答,
當(dāng)對應(yīng)的增量壓縮運(yùn)算結(jié)果包括成功標(biāo)識及增量數(shù)據(jù)時,服務(wù)器以增量方式對所述頁面請求進(jìn)行應(yīng)答;
當(dāng)對應(yīng)的增量壓縮運(yùn)算結(jié)果包括失敗標(biāo)識時,服務(wù)器以完整數(shù)據(jù)方式對所述頁面請求進(jìn)行應(yīng)答。
優(yōu)選地,在所述服務(wù)器以增量方式對所述頁面請求進(jìn)行應(yīng)答的步驟中,包括:所述服務(wù)器通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、增量運(yùn)算標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符、該非圖web資源的原始大小、增量數(shù)據(jù)的大小及所述增量數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
優(yōu)選地,還包括:客戶端接收服務(wù)器傳輸?shù)乃鲰撁鎽?yīng)答數(shù)據(jù),通過所述預(yù)設(shè)協(xié)議格式解析所述頁面應(yīng)答數(shù)據(jù);
根據(jù)本地緩存的與接收的所述超級網(wǎng)頁模板的標(biāo)識符對應(yīng)的超級網(wǎng) 頁模板及所述增量數(shù)據(jù),還原所需要的非圖web資源;
根據(jù)還原的非圖web資源的大小與頁面應(yīng)答數(shù)據(jù)包括的原始大小判斷還原操作是否成功;
若還原成功且所述客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端本地。
優(yōu)選地,在所述服務(wù)器以完整數(shù)據(jù)方式對所述頁面請求進(jìn)行應(yīng)答的步驟中,包括:
所述服務(wù)器通過預(yù)設(shè)壓縮方式對該非圖web資源進(jìn)行壓縮,得到壓縮數(shù)據(jù);
通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、所述預(yù)設(shè)壓縮方式的標(biāo)識及所述壓縮數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
優(yōu)選地,還包括:客戶端接收服務(wù)器傳輸?shù)乃鲰撁鎽?yīng)答數(shù)據(jù),通過所述預(yù)設(shè)協(xié)議格式解析所述頁面應(yīng)答數(shù)據(jù);
根據(jù)所述預(yù)設(shè)壓縮方式的標(biāo)識,采用對應(yīng)的預(yù)設(shè)壓縮方式對所述壓縮數(shù)據(jù)進(jìn)行解壓縮,得到所需要的非圖web資源;
若所述客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端本地。
優(yōu)選地,還包括:客戶端以獨(dú)立于客戶端本地緩存的方式管理其存儲的一個或多個超級網(wǎng)頁模板;客戶端通過后臺下發(fā)的控制參數(shù)來關(guān)閉或開啟某一類網(wǎng)站對應(yīng)的超級網(wǎng)頁模板。
優(yōu)選地,還包括:服務(wù)器每隔預(yù)設(shè)時間段檢測每個超級網(wǎng)頁模板對應(yīng)的網(wǎng)站的改版程度,當(dāng)檢測到一網(wǎng)站的改版程度超過預(yù)設(shè)改版程度時,根據(jù)改版后的該網(wǎng)站生成該網(wǎng)站對應(yīng)的新版本的超級網(wǎng)頁模板。
優(yōu)選地,還包括:服務(wù)器根據(jù)客戶端發(fā)送的頁面請求,確定客戶端緩存的所要訪問的網(wǎng)站對應(yīng)的超級網(wǎng)頁模板的版本是否為最新版本;
當(dāng)確定出客戶端緩存的該超級網(wǎng)頁模板的版本不是最新版本時,服務(wù) 器傳輸更新指示信息給該客戶端;
該客戶端根據(jù)該更新指示信息從服務(wù)器下載并存儲該超級網(wǎng)頁模板的最新版本。
本發(fā)明實施例還提供了一種頁面數(shù)據(jù)傳輸系統(tǒng),包括:服務(wù)器和客戶端,其中:
所述服務(wù)器用于建立一個或多個不同超級網(wǎng)頁模板并將其保存在其自身和所述客戶端中,每一個超級網(wǎng)頁模板包括在某一類網(wǎng)站的各路徑下的同類非圖web資源;
所述服務(wù)器用于接收并解析所述客戶端發(fā)送的頁面請求;
所述服務(wù)器用于當(dāng)客戶端的本地緩存中保存有所需要的非圖web資源時,指示該客戶端直接從該客戶端的本地緩存中讀取所需要的非圖web資源,否則,將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù);將所述增量數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
優(yōu)選地,所述某一類網(wǎng)站滿足的條件包括:
網(wǎng)站各路徑下的同類非圖web資源個數(shù)少于預(yù)設(shè)數(shù)值,且同類非圖web資源的總?cè)萘啃∮陬A(yù)設(shè)容量;網(wǎng)站的用戶訪問量高于預(yù)設(shè)閾值;網(wǎng)站的改版頻率低于預(yù)設(shè)頻率。
優(yōu)選地,還包括:所述超級網(wǎng)頁模板的數(shù)據(jù)結(jié)構(gòu)包括非圖web資源類型、網(wǎng)站的站點(diǎn)域名列表、所述超級網(wǎng)頁模板的版本號和將網(wǎng)站中所述非圖web資源類型的內(nèi)容合并成的文本數(shù)據(jù)。
優(yōu)選地,還包括:所述非圖web資源類型包括腳本類和樣式類。
優(yōu)選地,所述服務(wù)器用于確定組織架構(gòu)完全一致的多個網(wǎng)站并將該多個網(wǎng)站的站點(diǎn)域名組成列表;確定網(wǎng)站的各路徑下的非圖web資源類型,設(shè)定該超級網(wǎng)頁模板的版本號;將網(wǎng)站中所述非圖web資源類型的內(nèi)容合并成文本數(shù)據(jù);通過預(yù)設(shè)的加密算法及編碼算法對所述文本數(shù)據(jù)進(jìn)行加密及編碼運(yùn)算,得到該超級網(wǎng)頁模板的標(biāo)識符,同時以該標(biāo)識符作為該超級 網(wǎng)頁模板的文件名。
優(yōu)選地,所述服務(wù)器用于基于文件級別把網(wǎng)站各路徑下的所述非圖web資源類型的內(nèi)容直接合并成文本數(shù)據(jù);或者,
所述服務(wù)器,用于確定網(wǎng)站各路徑下的所述非圖web資源類型的內(nèi)容中各數(shù)據(jù)塊之間的相似程度,從各路徑下的所述非圖web資源類型的內(nèi)容中提取出相似程度大于預(yù)設(shè)相似值的數(shù)據(jù)塊,將提取的數(shù)據(jù)塊合并成文本數(shù)據(jù)。
優(yōu)選地,還包括:所述客戶端用于當(dāng)準(zhǔn)備訪問一網(wǎng)站時,檢索其保存的一個或多個超級網(wǎng)頁模板,找出適用于該網(wǎng)站的超級網(wǎng)頁模板,從本地緩存中獲取該網(wǎng)站的站點(diǎn)域名對應(yīng)的客戶端緩存列表,該客戶端緩存列表包括客戶端已緩存的該站點(diǎn)域名對應(yīng)的非圖web資源的標(biāo)識;發(fā)送頁面請求給服務(wù)器,在該頁面請求中提供所述網(wǎng)站的站點(diǎn)域名、超級網(wǎng)頁模板的標(biāo)識符、非圖web資源類型、版本號以及所述客戶端緩存列表。
優(yōu)選地,所述服務(wù)器用于從所述頁面請求中解析出網(wǎng)站的站點(diǎn)域名、超級網(wǎng)頁模板的標(biāo)識符、非圖web資源類型、版本號以及所述客戶端緩存列表;獲取與所述站點(diǎn)域名對應(yīng)的且與解析出的非圖web資源類型相同的非圖web資源;計算所獲取的非圖web資源的標(biāo)識,確定所述客戶端緩存列表中是否包含計算的標(biāo)識,若包含,則判斷出所需要的非圖web資源存在于該客戶端的本地緩存中,否則所需要的非圖web資源不存在于該客戶端的本地緩存中。
優(yōu)選地,所述服務(wù)器還用于對所述非圖web資源對應(yīng)的地址及所述非圖web資源的內(nèi)容進(jìn)行哈希運(yùn)算,得到所述非圖web資源對應(yīng)的哈希值,將所述哈希值用作為所述非圖web資源的標(biāo)識。
優(yōu)選地,所述服務(wù)器用于將已緩存指示信息發(fā)送給該客戶端,所述已緩存指示信息包括所需要的非圖web資源的標(biāo)識和已緩存標(biāo)識;
所述客戶端用于接收所述已緩存指示信息,根據(jù)所需要的非圖web資源的標(biāo)識直接從客戶端本地緩存中獲取所需要的非圖web資源。
優(yōu)選地,所述服務(wù)器用于從所述頁面請求中解析出站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板的標(biāo)識符和版本號;根據(jù)解析出的所述超級網(wǎng)頁模板的標(biāo)識符和所述版本號,從其保存的一個或多個超級網(wǎng)頁模板中獲取對應(yīng)的超級網(wǎng)頁模板,根據(jù)獲取的非圖web資源和超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù)。
優(yōu)選地,還包括:所述服務(wù)器還用于將已進(jìn)行增量壓縮運(yùn)算的非圖web資源的標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符及增量壓縮運(yùn)算結(jié)果緩存在服務(wù)器本地緩存系統(tǒng),該增量壓縮運(yùn)算結(jié)果為成功標(biāo)識及增量數(shù)據(jù),或者該增量壓縮運(yùn)算結(jié)果為失敗標(biāo)識。
優(yōu)選地,還包括:所述服務(wù)器還用于在進(jìn)行增量壓縮運(yùn)算之前,查詢服務(wù)器本地緩存系統(tǒng)是否緩存了非圖web資源的標(biāo)識及超級網(wǎng)頁模板的標(biāo)識符對應(yīng)的增量壓縮運(yùn)算結(jié)果;當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果時,將該非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù);當(dāng)服務(wù)器本地緩存系統(tǒng)緩存了對應(yīng)的增量壓縮運(yùn)算結(jié)果時,直接從服務(wù)器本地緩存系統(tǒng)獲取對應(yīng)的增量壓縮運(yùn)算結(jié)果。
優(yōu)選地,所述服務(wù)器還用于當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果且服務(wù)器進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù)后,計算該增量數(shù)據(jù)的容量與非圖web資源的容量之間的比值,得到該非圖web資源對應(yīng)的增量壓縮率;若該增量壓縮率小于預(yù)設(shè)壓縮閾值,則將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符、成功標(biāo)識及該增量數(shù)據(jù)緩存到服務(wù)器本地緩存系統(tǒng);若該增量壓縮率大于或等于所述預(yù)設(shè)壓縮閾值,則將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符及失敗標(biāo)識緩存到服務(wù)器本地緩存系統(tǒng)。
優(yōu)選地,所述服務(wù)器用于當(dāng)對應(yīng)的增量壓縮運(yùn)算結(jié)果包括成功標(biāo)識及增量數(shù)據(jù)時,以增量方式對所述頁面請求進(jìn)行應(yīng)答;當(dāng)對應(yīng)的增量壓縮運(yùn)算結(jié)果包括失敗標(biāo)識時,以完整數(shù)據(jù)方式對所述頁面請求進(jìn)行應(yīng)答。
優(yōu)選地,所述服務(wù)器還用于通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁 面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、增量運(yùn)算標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符、該非圖web資源的原始大小、增量數(shù)據(jù)的大小及所述增量數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
優(yōu)選地,還包括:所述客戶端用于接收服務(wù)器傳輸?shù)乃鲰撁鎽?yīng)答數(shù)據(jù),通過所述預(yù)設(shè)協(xié)議格式解析所述頁面應(yīng)答數(shù)據(jù);根據(jù)本地緩存的與接收的所述超級網(wǎng)頁模板的標(biāo)識符對應(yīng)的超級網(wǎng)頁模板及所述增量數(shù)據(jù),還原所需要的非圖web資源;根據(jù)還原的非圖web資源的大小與頁面應(yīng)答數(shù)據(jù)包括的原始大小判斷還原操作是否成功;若還原成功且所述客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端本地。
優(yōu)選地,所述服務(wù)器還用于通過預(yù)設(shè)壓縮方式對該非圖web資源進(jìn)行壓縮,得到壓縮數(shù)據(jù);通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、所述預(yù)設(shè)壓縮方式的標(biāo)識及所述壓縮數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
優(yōu)選地,還包括:所述客戶端用于接收服務(wù)器傳輸?shù)乃鲰撁鎽?yīng)答數(shù)據(jù),通過所述預(yù)設(shè)協(xié)議格式解析所述頁面應(yīng)答數(shù)據(jù);根據(jù)所述預(yù)設(shè)壓縮方式的標(biāo)識,采用對應(yīng)的預(yù)設(shè)壓縮方式對所述壓縮數(shù)據(jù)進(jìn)行解壓縮,得到所需要的非圖web資源;若所述客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端本地。
優(yōu)選地,還包括:所述客戶端還用于以獨(dú)立于客戶端本地緩存的方式管理其存儲的一個或多個超級網(wǎng)頁模板;通過后臺下發(fā)的控制參數(shù)來關(guān)閉或開啟某一類網(wǎng)站對應(yīng)的超級網(wǎng)頁模板。
優(yōu)選地,還包括:所述服務(wù)器還用于每隔預(yù)設(shè)時間段檢測每個超級網(wǎng)頁模板對應(yīng)的網(wǎng)站的改版程度,當(dāng)檢測到一網(wǎng)站的改版程度超過預(yù)設(shè)改版程度時,根據(jù)改版后的該網(wǎng)站生成該網(wǎng)站對應(yīng)的新版本的超級網(wǎng)頁模板。
優(yōu)選地,還包括:所述服務(wù)器還用于根據(jù)客戶端發(fā)送的頁面請求,確定客戶端緩存的所要訪問的網(wǎng)站對應(yīng)的超級網(wǎng)頁模板的版本是否為最新版本;當(dāng)確定出客戶端緩存的該超級網(wǎng)頁模板的版本不是最新版本時,服 務(wù)器傳輸更新指示信息給該客戶端;
所述客戶端還用于根據(jù)該更新指示信息從服務(wù)器下載并存儲該超級網(wǎng)頁模板的最新版本。
本發(fā)明實施例提供的頁面數(shù)據(jù)傳輸方法及系統(tǒng),其有益效果是:建立一個或多個不同超級網(wǎng)頁模板并將其保存在服務(wù)器和客戶端,超級網(wǎng)頁模板包括某一類網(wǎng)站各路徑下的同類非圖web資源。當(dāng)所需要的非圖web資源未存在于客戶端本地緩存中時,服務(wù)器將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù),將增量數(shù)據(jù)傳給客戶端。由于服務(wù)器只將非圖web資源與超級網(wǎng)頁模板之間的增量數(shù)據(jù)傳給客戶端,避免了下發(fā)非圖web資源的完整數(shù)據(jù),縮短了頁面響應(yīng)時間,節(jié)省了傳輸流量。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
圖1A示出了本發(fā)明的一種頁面數(shù)據(jù)傳輸方法流程圖;
圖1B示出了本發(fā)明的一種更新超級網(wǎng)頁模板的流程圖;
圖2示出了本發(fā)明的一種頁面數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
考慮到相關(guān)技術(shù)基于客戶端緩存的web資源傳輸方法中,客戶端緩存 容量有限,可能由于緩存大量圖片資源,導(dǎo)致影響非圖web資源的緩存量很低,在客戶端未緩存非圖web資源時服務(wù)器必須下發(fā)非圖web資源的完整數(shù)據(jù),延長了頁面響應(yīng)時間且浪費(fèi)傳輸流量。
基于此,本發(fā)明實施例提供了一種頁面數(shù)據(jù)傳輸方法及系統(tǒng)。下面通過實施例進(jìn)行描述。
實施例1
參見圖1A,本發(fā)明實施例提供了一種頁面數(shù)據(jù)傳輸方法。該方法具體包括以下步驟:
步驟101:服務(wù)器建立一個或多個不同超級網(wǎng)頁模板并將其保存在其自身和客戶端中,每一個超級網(wǎng)頁模板包括在某一類網(wǎng)站的各路徑下的同類非圖web資源。
在本發(fā)明實施例中,服務(wù)器可以為瀏覽器對應(yīng)的后臺服務(wù)器或代理服務(wù)器等。
上述超級網(wǎng)頁模板的數(shù)據(jù)結(jié)構(gòu)包括非圖web資源類型、網(wǎng)站的站點(diǎn)域名列表、超級網(wǎng)頁模板的版本號和將網(wǎng)站中上述非圖web資源類型的內(nèi)容合并成的文本數(shù)據(jù)。非圖web資源包括外聯(lián)的JavaScript腳本和CSS樣式表,上述非圖web資源類型包括腳本類和樣式類,超級網(wǎng)頁模板可以為腳本超級模板和樣式超級模板。
超級網(wǎng)頁模板的使用是基于網(wǎng)站的站點(diǎn)域名的,因為不同網(wǎng)站的非圖web資源的收斂情況及數(shù)據(jù)大小存在很大差異。超級網(wǎng)頁模板是針對網(wǎng)站各路徑下的所有同類非圖web資源的,主要是針對JavaScript腳本和CSS樣式表,即對于給定的一個站點(diǎn)域名,該站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板最多有一個腳本超級模板和一個樣式超級模板。
在本發(fā)明實施例中,適用于超級網(wǎng)頁模板的網(wǎng)站所需滿足的條件包括:
(1)網(wǎng)站各路徑下的同類非圖web資源的個數(shù)少于預(yù)設(shè)數(shù)值,且同類非圖web資源的總?cè)萘啃∮陬A(yù)設(shè)容量,即網(wǎng)站各路徑下的同類非圖web 資源是聚集且收斂的,如此避免客戶端及服務(wù)器保存及維護(hù)超級網(wǎng)頁模板的系統(tǒng)開銷過大;
(2)網(wǎng)站的用戶訪問量高于預(yù)設(shè)閾值,即網(wǎng)站屬于高頻訪問的站點(diǎn),高頻訪問的站點(diǎn)對應(yīng)的超級網(wǎng)頁模板的利用率很高;
(3)網(wǎng)站的改版頻率低于預(yù)設(shè)頻率,改版頻率是指網(wǎng)站的腳本使用的技術(shù)或框架發(fā)生很大變化的頻率,比如網(wǎng)站從某個腳本庫轉(zhuǎn)移到另一個腳本庫,或者網(wǎng)站的版式布局發(fā)生重大調(diào)整,再或者網(wǎng)站的CSS文件發(fā)生很大改變。由于網(wǎng)站改版時網(wǎng)站對應(yīng)的非圖web資源可能發(fā)生很大變化,所以需要重新生成改版后的網(wǎng)站對應(yīng)的超級網(wǎng)頁模板,因此需要網(wǎng)站的改版頻率低于預(yù)設(shè)頻率,以避免頻繁生成新版本的超級網(wǎng)頁模板,降低超級網(wǎng)頁模板的存儲及維護(hù)成本。
在本發(fā)明實施例中,服務(wù)器確定組織架構(gòu)完全一致的多個網(wǎng)站并將該多個網(wǎng)站的站點(diǎn)域名組成站點(diǎn)域名列表,確定這多個網(wǎng)站的各路徑下的非圖web資源類型,并設(shè)定該超級網(wǎng)頁模板的版本號。
服務(wù)器可以根據(jù)預(yù)設(shè)版本命名規(guī)則設(shè)定該超級網(wǎng)頁模板的版本號。預(yù)設(shè)版本命名規(guī)則可以為按照自然數(shù)或字母順序編號。
服務(wù)器將網(wǎng)站中非圖web資源類型的內(nèi)容合并成文本數(shù)據(jù)。具體地,服務(wù)器基于文件級別把網(wǎng)站各路徑下的上述非圖web資源類型的內(nèi)容直接合并成文本數(shù)據(jù);或者,服務(wù)器先確定網(wǎng)站各路徑下的上述非圖web資源類型的內(nèi)容中各數(shù)據(jù)塊之間的相似程度,從各路徑下的該非圖web資源類型的內(nèi)容中提取出相似程度大于預(yù)設(shè)相似值的數(shù)據(jù)塊,將提取的數(shù)據(jù)塊合并成文本數(shù)據(jù)。
服務(wù)器通過預(yù)設(shè)的加密算法及編碼算法對上述合并得到的文本數(shù)據(jù)進(jìn)行加密及編碼運(yùn)算,得到該超級網(wǎng)頁模板的標(biāo)識符,同時以該標(biāo)識符作為該超級網(wǎng)頁模板的文件名。
上述標(biāo)識符是作為服務(wù)器與客戶端識別雙方維護(hù)同一個超級網(wǎng)頁模板及下發(fā)增量數(shù)據(jù)的關(guān)鍵依據(jù)。
上述預(yù)設(shè)的加密算法可以為MD5(Message-Digest Algorithm 5,信息-摘要算法5),預(yù)設(shè)的編碼算法可以為base64(用于傳輸8Bit字節(jié)代碼的編碼方式)。服務(wù)器通過MD5算法對上述文本數(shù)據(jù)進(jìn)行加密運(yùn)算得到密文,獲取該密文的前預(yù)設(shè)個數(shù)的字符,通過base64對獲取的字符進(jìn)行轉(zhuǎn)碼運(yùn)算得到8個字符,將這8個字符確定為超級網(wǎng)頁模板的標(biāo)識符。在本發(fā)明實施例中可以取密文的前6個字符通過base64編碼為8個字符的標(biāo)識符。
服務(wù)器將上述合并得到的文本數(shù)據(jù)、生成的標(biāo)識符、組成的站點(diǎn)域名列表、非圖web資源類型及版本號組成超級網(wǎng)頁模板,將該超級網(wǎng)頁模板存儲在服務(wù)器和客戶端中。
客戶端以獨(dú)立于客戶端本地緩存的方式管理其存儲的一個或多個超級網(wǎng)頁模板??蛻舳藛訒r,加載超級網(wǎng)頁模板,分別以站點(diǎn)域名和標(biāo)識符建立超級網(wǎng)頁模板的雙索引,以便于從站點(diǎn)域名和標(biāo)識符兩個維度快速獲取到對應(yīng)的超級網(wǎng)頁模板。
客戶端通過后臺下發(fā)的控制參數(shù)來關(guān)閉或開啟某一類網(wǎng)站對應(yīng)的超級網(wǎng)頁模板。服務(wù)器也可以通過控制參數(shù)來關(guān)閉或開啟某一類網(wǎng)站對應(yīng)的超級網(wǎng)頁模板。
由于超級網(wǎng)頁模板對應(yīng)的網(wǎng)站可能會發(fā)生改版,為了確保超級網(wǎng)頁模板的有效性,在本發(fā)明的一個優(yōu)選實施例中,服務(wù)器需要周期性地檢測網(wǎng)站是否改版,若改版,則生成改版后的網(wǎng)站對應(yīng)的新版本的超級網(wǎng)頁模板,并指示客戶端更新該新版本的超級網(wǎng)頁模板。
如圖1B所示,更新超級網(wǎng)頁模板的過程包括:
S1:服務(wù)器每隔預(yù)設(shè)時間段檢測每個超級網(wǎng)頁模板對應(yīng)的網(wǎng)站的改版程度,當(dāng)檢測到一網(wǎng)站的改版程度超過預(yù)設(shè)改版程度時,根據(jù)改版后的該網(wǎng)站生成該網(wǎng)站對應(yīng)的新版本的超級網(wǎng)頁模板;
上述預(yù)設(shè)時間段可以為5小時或10小時等。對于服務(wù)器本地存儲的每個超級網(wǎng)頁模板,服務(wù)器每隔預(yù)設(shè)時間段加載超級網(wǎng)頁模板對應(yīng)的站點(diǎn) 域名列表中每個站點(diǎn)域名下的所有非圖web資源,并把每個非圖web資源與該超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算得到增量壓縮數(shù)據(jù),計算每個增量壓縮數(shù)據(jù)的增量壓縮率,增量壓縮率可以體現(xiàn)網(wǎng)站的改版程度。當(dāng)某個站點(diǎn)的所有非圖web資源的增量壓縮率超過壓縮率閾值時,確定該網(wǎng)站的改版程度超過預(yù)設(shè)改版程度,則基于改版后的該網(wǎng)站的非圖web資源生成該網(wǎng)站對應(yīng)的新版本的超級網(wǎng)頁模板。
S2:服務(wù)器根據(jù)客戶端發(fā)送的頁面請求,確定客戶端緩存的所要訪問的網(wǎng)站對應(yīng)的超級網(wǎng)頁模板的版本是否為最新版本,如果是,則對該頁面請求進(jìn)行應(yīng)答,如果否,則執(zhí)行步驟S3;
服務(wù)器從客戶端發(fā)送的頁面請求中解析出站點(diǎn)域名及版本號,根據(jù)該站點(diǎn)域名從服務(wù)器本地獲取該站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板的版本號。若服務(wù)器本地的版本號高于頁面請求中的版本號,則確定出客戶端緩存的該站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板不是最新版本的。
當(dāng)服務(wù)器確定出客戶端緩存的不是最新版本時,服務(wù)器本次將下發(fā)頁面請求所需要的非圖web資源的完整數(shù)據(jù)。
S3:服務(wù)器傳輸更新指示信息給該客戶端;
上述更新指示信息中包括舊版本的超級網(wǎng)頁模板的標(biāo)識符及版本號、新版本的超級網(wǎng)頁模板的標(biāo)識符及版本號以及新版本的超級網(wǎng)頁模板對應(yīng)的站點(diǎn)域名列表。
S4:該客戶端根據(jù)該更新指示信息從服務(wù)器下載并存儲該超級網(wǎng)頁模板的最新版本。
客戶端接收到服務(wù)器下發(fā)的更新指示信息后,可以馬上更新,也可以在后繼某個合適的時機(jī)再行更新,比如切換到WiFi網(wǎng)絡(luò)時再更新。
客戶端更新超級網(wǎng)頁模板的具體流程如下所示:
1,客戶端根據(jù)更新指示信息中的舊版本超級網(wǎng)頁模板的標(biāo)識符,在超級網(wǎng)頁模板管理器中標(biāo)記舊版本超級網(wǎng)頁模板無效;
2,客戶端發(fā)送更新請求到服務(wù)器;
該更新請求攜帶舊版本的超級網(wǎng)頁模板的標(biāo)識符及版本號、新版本的超級網(wǎng)頁模板的標(biāo)識符及版本號以及新版本的超級網(wǎng)頁模板適用的站點(diǎn)域名列表。
3,服務(wù)器接收客戶端發(fā)送的該更新請求,比對該更新請求無誤后,按照應(yīng)答協(xié)議格式對該更新請求進(jìn)行應(yīng)答:
服務(wù)器確認(rèn)該更新請求中寫的信息無誤后,通過一定的壓縮方式對新版本的超級網(wǎng)頁模板進(jìn)行壓縮,然后通過應(yīng)答協(xié)議格式封裝新版本的超級網(wǎng)頁模板的標(biāo)識符及版本號、新版本的超級網(wǎng)頁模板對應(yīng)的站點(diǎn)域名列表、新版本的超級網(wǎng)頁模板的壓縮數(shù)據(jù)、壓縮方式以及新版本的超級網(wǎng)頁模板原始數(shù)據(jù)大小,將封裝后的數(shù)據(jù)作為更新應(yīng)答數(shù)據(jù)傳輸給客戶端。
4,客戶端接收該更新應(yīng)答數(shù)據(jù),按照應(yīng)答協(xié)議格式解析該更新應(yīng)答數(shù)據(jù),解析出新版本的超級網(wǎng)頁模板后,判斷該新版本的超級網(wǎng)頁模板是否解析成功,若成功,則執(zhí)行步驟6,若不成功,則執(zhí)行步驟5;
判斷新版本的超級網(wǎng)頁模板是否解析成功的方式可以包括:判斷解析出的新版本的超級網(wǎng)頁模板的大小是否與更新應(yīng)答數(shù)據(jù)包括的原始數(shù)據(jù)大小一致,或者,判斷解析出的新版本的超級網(wǎng)頁模板的標(biāo)識符是否與更新應(yīng)答數(shù)據(jù)中包括的標(biāo)識符一致。
5,客戶端在超級網(wǎng)頁模板管理器中重新標(biāo)記舊版本的超級網(wǎng)頁模板有效,記錄該次更新出現(xiàn)錯誤,后繼再基于服務(wù)器的應(yīng)答指示進(jìn)行更新。
6,客戶端把新版本的超級網(wǎng)頁模板添加到超級網(wǎng)頁模板管理器,并刪除舊版本的超級網(wǎng)頁模板,完成該次超級網(wǎng)頁模板更新。
在本發(fā)明的另一優(yōu)選實施例中,在服務(wù)器與客戶端中可以事先設(shè)置有客戶端緩存策略,該客戶端緩存策略規(guī)定了客戶端可以緩存的非圖web資源所需滿足的條件,如非圖web資源的容量小于容量閾值時才可緩存等。服務(wù)器在向客戶端下發(fā)非圖web資源前,首先根據(jù)該客戶端緩存策略判斷客戶端是否可緩存該非圖web資源,如果是,則指示客戶端緩存該非圖web資源,否則指示客戶端不緩存該非圖web資源。這里涉及的客戶端緩存策 略可以使用本領(lǐng)域公知的任何客戶端緩存策略,這里不做過多介紹。
當(dāng)服務(wù)器確定客戶端可緩存非圖web資源時,服務(wù)器對該非圖web資源的地址及內(nèi)容進(jìn)行哈希運(yùn)算得到一哈希值,將該哈希值作為該非圖web資源的標(biāo)識,并將緩存指示、該非圖web資源及其標(biāo)識下發(fā)給客戶端??蛻舳藢⒃摲菆Dweb資源、該非圖web資源對應(yīng)的站點(diǎn)域名及其標(biāo)識對應(yīng)緩存在客戶端本地緩存中。
當(dāng)用戶需要瀏覽某網(wǎng)站的網(wǎng)頁并點(diǎn)擊該網(wǎng)頁對應(yīng)的鏈接時,客戶端將該鏈接對應(yīng)的網(wǎng)站確定為需訪問的網(wǎng)站,并從客戶端本地緩存中獲取該網(wǎng)站的站點(diǎn)域名對應(yīng)的非圖web資源的標(biāo)識,將獲取的非圖web資源的標(biāo)識組成客戶端緩存列表,客戶端獲取該站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板的標(biāo)識符、版本號和非圖web資源類型??蛻舳税l(fā)送頁面請求給服務(wù)器,在該頁面請求中攜帶該站點(diǎn)域名、客戶端緩存列表、標(biāo)識符、版本號和非圖web資源類型。
步驟102:服務(wù)器接收并解析客戶端發(fā)送的頁面請求;
服務(wù)器接收客戶端發(fā)送的頁面請求,并從該頁面請求中解析出客戶端所訪問的網(wǎng)站的站點(diǎn)域名,以及解析出客戶端緩存列表、標(biāo)識符、版本號和非圖web資源類型。步驟103:當(dāng)客戶端的本地緩存中保存有所需要的非圖web資源時,服務(wù)器指示客戶端直接從該客戶端的本地緩存中讀取所需要的非圖web資源;
服務(wù)器根據(jù)解析出的站點(diǎn)域名及非圖web資源類型,獲取與該站點(diǎn)域名對應(yīng)的且與解析出的非圖web資源類型相同的非圖web資源,對該非圖web資源對應(yīng)的地址及該非圖web資源的內(nèi)容進(jìn)行哈希運(yùn)算,得到該非圖web資源對應(yīng)的哈希值,將該哈希值確定為該非圖web資源的標(biāo)識。計算出該非圖web資源的標(biāo)識后,確定解析出的客戶端緩存列表中是否包含計算的標(biāo)識,若包含,則判斷出客戶端的本地緩存中保存有所需要的非圖web資源,否則客戶端的本地緩存中沒有保存所需要的非圖web資源。
服務(wù)器將已緩存指示信息發(fā)送給該客戶端,該已緩存指示信息包括所 需要的非圖web資源的標(biāo)識和已緩存標(biāo)識??蛻舳私邮赵撘丫彺嬷甘拘畔ⅲ鶕?jù)該已緩存指示信息包括的所需要的非圖web資源的標(biāo)識直接從客戶端本地緩存中獲取所需要的非圖web資源。
服務(wù)器可以按照預(yù)設(shè)協(xié)議格式把該非圖web資源的http應(yīng)答頭及非圖web資源的標(biāo)識和已緩存標(biāo)識進(jìn)行封裝,將封裝后的信息下發(fā)給客戶端??蛻舳私邮盏椒?wù)器下發(fā)的信息后,根據(jù)上述預(yù)設(shè)協(xié)議格式從該信息中解析出該非圖web資源的http應(yīng)答頭及非圖web資源的標(biāo)識和已緩存標(biāo)識,并根據(jù)該非圖web資源的標(biāo)識從客戶端本地緩存中直接獲取對應(yīng)的非圖web資源。上述預(yù)設(shè)協(xié)議格式可以為HTML5的標(biāo)準(zhǔn)協(xié)議格式。
在本發(fā)明的一個優(yōu)選實施例中,服務(wù)器和客戶端之間可以事先設(shè)置有客戶端緩存策略,當(dāng)服務(wù)器需要下發(fā)非圖web資源給客戶端,而該非圖web資源命中該客戶端本地緩存時,服務(wù)器不需要下發(fā)該非圖web資源,而是直接指示客戶端從本地緩存中獲取該非圖web資源,如此不需要再進(jìn)行其他操作,也大大節(jié)省了傳輸流量。
步驟104:當(dāng)客戶端的本地緩存中沒有保存所需要的非圖web資源時,服務(wù)器將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù);
服務(wù)器根據(jù)解析的站點(diǎn)域名,從該站點(diǎn)域名對應(yīng)的網(wǎng)站服務(wù)器獲取對應(yīng)的非圖web資源,并根據(jù)解析出的超級網(wǎng)頁模板的標(biāo)識符和版本號,從其保存的一個或多個超級網(wǎng)頁模板中獲取對應(yīng)的超級網(wǎng)頁模板,根據(jù)獲取的非圖web資源和超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù)。
在本發(fā)明實施例中,服務(wù)器可以通過SDCH(Shared Dictionary Compression over HTTP,基于字典進(jìn)行http數(shù)據(jù)壓縮的機(jī)制)對非圖web資源和超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算。
SDCH是一種與HTTP/1.1(超文本傳輸協(xié)議-版本1.1)兼容的擴(kuò)展,它通過在客戶端和服務(wù)器之間共享字典來支持對HTTP響應(yīng)數(shù)據(jù)的壓縮。SDCH應(yīng)用的場景如下:服務(wù)器通過該擴(kuò)展先下發(fā)字典給客戶端;當(dāng)客戶端 請求某一http資源時,服務(wù)器可以把該資源基于雙方都保存的同一個字典進(jìn)行增量壓縮,服務(wù)器下發(fā)增量數(shù)據(jù)給客戶端;客戶端使用對應(yīng)的增量壓縮算法把增量數(shù)據(jù)還原為所請求的http資源。
本發(fā)明實施例中服務(wù)器和客戶端中存儲的超級網(wǎng)頁模板即為上述客戶端和服務(wù)器之間共享的字典。對于給定的兩份數(shù)據(jù),以一份數(shù)據(jù)作為字典或者模板,使用增量壓縮算法對另一份數(shù)據(jù)進(jìn)行壓縮,會基于這兩份數(shù)據(jù)中的相同數(shù)據(jù)流進(jìn)行識別,從而在輸出的壓縮數(shù)據(jù)中減少該相同的數(shù)據(jù)流。這兩份數(shù)據(jù)相似度越高,則增量數(shù)據(jù)越少。同時增量壓縮算法也提供基于生成的增量數(shù)據(jù)進(jìn)行不同級別的自身壓縮,來減少增量數(shù)據(jù)的大小,進(jìn)一步提高壓縮效果。
由于某個網(wǎng)站各路徑下的所有頁面都使用同一超級網(wǎng)頁模板,每個頁面的差異數(shù)據(jù)非常少,假定每個頁面的相似度接近90%,那么通過使用SDCH技術(shù),服務(wù)器先下發(fā)該網(wǎng)站的超級網(wǎng)頁模板給客戶端,當(dāng)客戶端訪問該網(wǎng)站的某一頁面時,都可以使用增量壓縮方式來應(yīng)答該頁面基于超級網(wǎng)頁模板的增量數(shù)據(jù),從而達(dá)到減少傳輸數(shù)據(jù)流量的目的。
在本發(fā)明的另一個優(yōu)選的實施例中,服務(wù)器中設(shè)置了增量緩存服務(wù),并將已進(jìn)行增量壓縮運(yùn)算的非圖web資源的標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符及增量壓縮運(yùn)算結(jié)果緩存在服務(wù)器本地緩存系統(tǒng),該增量壓縮運(yùn)算結(jié)果為成功標(biāo)識及增量數(shù)據(jù),或者該增量壓縮運(yùn)算結(jié)果為失敗標(biāo)識。
成功標(biāo)識和失敗標(biāo)識是由增量數(shù)據(jù)的增量壓縮率來決定的。增量壓縮率為增量數(shù)據(jù)的容量與非圖web資源的容量之間的比值。若增量數(shù)據(jù)的增量壓縮率小于預(yù)設(shè)壓縮閾值,則在服務(wù)器本地緩存系統(tǒng)存儲的增量壓縮運(yùn)算結(jié)果包括成功標(biāo)識及該增量數(shù)據(jù)。若增量數(shù)據(jù)的增量壓縮率大于或等于該預(yù)設(shè)壓縮閾值,則在服務(wù)器本地緩存系統(tǒng)存儲的增量壓縮運(yùn)算結(jié)果只包括失敗標(biāo)識。該預(yù)設(shè)壓縮閾值可以為5%等。
上述增量緩存服務(wù)可以使運(yùn)行在服務(wù)器上的多個中轉(zhuǎn)瀏覽服務(wù)進(jìn)程共享增量運(yùn)算的增量壓縮運(yùn)算結(jié)果。主要是對于給定的一個非圖web資源, 可能存在多個用戶都需要下發(fā)該非圖web資源,或者同一個用戶在不同時間段需要下發(fā)該非圖web資源,而該非圖web資源及其匹配的超級網(wǎng)頁模板在有限的一段時間內(nèi)都是固定不變的,所以通過增量緩存服務(wù)在服務(wù)器本地緩存系統(tǒng)緩存該非圖web資源相對于超級網(wǎng)頁模板的增量運(yùn)算的增量壓縮運(yùn)算結(jié)果,可以有效減少對該非圖web資源的增量壓縮運(yùn)算,從而節(jié)省處理器的計算資源。
由于服務(wù)器設(shè)置了增量緩存服務(wù),所以服務(wù)器進(jìn)行增量壓縮運(yùn)算之前,可以先通過該增量緩存服務(wù)查詢服務(wù)器本地緩存系統(tǒng)是否緩存了該非圖web資源的標(biāo)識及超級網(wǎng)頁模板的標(biāo)識對應(yīng)的增量壓縮運(yùn)算結(jié)果。當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果時,服務(wù)器再將該非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù)。當(dāng)服務(wù)器本地緩存系統(tǒng)緩存了對應(yīng)的增量壓縮運(yùn)算結(jié)果時,直接從服務(wù)器本地緩存系統(tǒng)獲取對應(yīng)的增量壓縮運(yùn)算結(jié)果,后續(xù)服務(wù)器根據(jù)該增量壓縮運(yùn)算結(jié)果對頁面請求進(jìn)行應(yīng)答。
在本發(fā)明實施例中,當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果且服務(wù)器進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù)后,服務(wù)器計算該增量數(shù)據(jù)的容量與非圖web資源的容量之間的比值,得到該非圖web資源對應(yīng)的增量壓縮率。若該增量壓縮率小于預(yù)設(shè)壓縮閾值,則服務(wù)器通過增量緩存服務(wù)將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符、成功標(biāo)識及該增量數(shù)據(jù)緩存到服務(wù)器本地緩存系統(tǒng)。若該增量壓縮率大于或等于預(yù)設(shè)壓縮閾值,則服務(wù)器通過增量緩存服務(wù)將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符及失敗標(biāo)識緩存到服務(wù)器本地緩存系統(tǒng)。
步驟105:服務(wù)器將增量數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果且服務(wù)器進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù)后,若該增量數(shù)據(jù)的增量壓縮率大于預(yù)設(shè)壓縮閾值,則以增量方式對客戶端的頁面請求進(jìn)行應(yīng)答。否則,以完整數(shù)據(jù)方式對客戶端的頁面請求進(jìn)行應(yīng)答。
當(dāng)服務(wù)器本地緩存系統(tǒng)緩存了對應(yīng)的增量壓縮運(yùn)算結(jié)果且該增量壓縮運(yùn)算結(jié)果包括成功標(biāo)識及增量數(shù)據(jù)時,服務(wù)器以增量方式對頁面請求進(jìn)行應(yīng)答。當(dāng)服務(wù)器本地緩存系統(tǒng)緩存了對應(yīng)的增量壓縮運(yùn)算結(jié)果且該增量壓縮運(yùn)算結(jié)果包括失敗標(biāo)識時,服務(wù)器以完整數(shù)據(jù)方式對頁面請求進(jìn)行應(yīng)答。
在本發(fā)明的一個優(yōu)選實施例中,服務(wù)器和客戶端之間可以事先設(shè)置有客戶端緩存策略,服務(wù)器對客戶端的頁面請求進(jìn)行應(yīng)答之前,根據(jù)服務(wù)器與客戶端之間已有的客戶端緩存策略,判斷頁面請求所需要的非圖web資源是否適合在客戶端本地緩存,并根據(jù)判斷結(jié)果生成客戶端緩存判斷標(biāo)識。
上述以增量方式進(jìn)行應(yīng)答的操作為:服務(wù)器通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、增量運(yùn)算標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符、該非圖web資源的原始大小、增量數(shù)據(jù)的大小及增量數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。
客戶端接收服務(wù)器傳輸?shù)捻撁鎽?yīng)答數(shù)據(jù),通過預(yù)設(shè)協(xié)議格式解析該頁面應(yīng)答數(shù)據(jù),根據(jù)頁面應(yīng)答數(shù)據(jù)中包括的標(biāo)識符,從客戶端本地緩存中獲取對應(yīng)的超級網(wǎng)頁模板,根據(jù)該網(wǎng)頁模板及頁面應(yīng)答數(shù)據(jù)中的增量數(shù)據(jù)還原出所需要的非圖web資源。
在本發(fā)明實施例中,客戶端還根據(jù)還原的非圖web資源的大小與頁面應(yīng)答數(shù)據(jù)包括的原始大小判斷還原操作是否成功,若還原的非圖web資源的大小與原始大小一致,則還原成功,否則還原失敗。還原失敗表明數(shù)據(jù)傳輸出現(xiàn)問題,丟棄還原得到的非圖web資源。
若還原成功且頁面應(yīng)答數(shù)據(jù)中的客戶端緩存判斷標(biāo)識指示需要緩存,則客戶端將還原的非圖web資源緩存在客戶端本地。
上述以完整數(shù)據(jù)方式進(jìn)行應(yīng)答的操作為:服務(wù)器通過預(yù)設(shè)壓縮方式對該非圖web資源進(jìn)行壓縮,得到壓縮數(shù)據(jù),通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、預(yù)設(shè)壓縮方式的標(biāo)識及壓 縮數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端。上述預(yù)設(shè)壓縮方式可以為gzip或7zip等。
客戶端接收服務(wù)器傳輸?shù)捻撁鎽?yīng)答數(shù)據(jù),通過預(yù)設(shè)協(xié)議格式解析該頁面應(yīng)答數(shù)據(jù),根據(jù)頁面應(yīng)答數(shù)據(jù)中的預(yù)設(shè)壓縮方式的標(biāo)識,采用對應(yīng)的預(yù)設(shè)壓縮方式對壓縮數(shù)據(jù)進(jìn)行解壓縮,得到所需要的非圖web資源。若客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端本地。
本發(fā)明實施例中所提到的預(yù)設(shè)協(xié)議格式及應(yīng)答協(xié)議格式可以為HTML5、WebApp協(xié)議或H264協(xié)議等。本發(fā)明實施例在以上提及的各閾值都可以基于經(jīng)驗值而設(shè)定。
本發(fā)明實施例的有益效果是:建立一個或多個不同超級網(wǎng)頁模板并將其保存在服務(wù)器和客戶端,超級網(wǎng)頁模板包括某一類網(wǎng)站各路徑下的同類非圖web資源。當(dāng)所需要的非圖web資源未存在于客戶端本地緩存中時,服務(wù)器將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù),將增量數(shù)據(jù)傳給客戶端。由于服務(wù)器只將非圖web資源與超級網(wǎng)頁模板之間的增量數(shù)據(jù)傳給客戶端,避免了下發(fā)非圖web資源的完整數(shù)據(jù),縮短了頁面響應(yīng)時間,節(jié)省了傳輸流量。
實施例2
參見圖2,本發(fā)明實施例提供了一種頁面數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)可以執(zhí)行上述實施例1所述的頁面數(shù)據(jù)傳輸方法。該系統(tǒng)包括服務(wù)器201和客戶端202;
服務(wù)器201,用于建立一個或多個不同超級網(wǎng)頁模板并將其保存在其自身和客戶端202中,每一個超級網(wǎng)頁模板包括在某一類網(wǎng)站的各路徑下的同類非圖web資源;接收并解析客戶端202發(fā)送的頁面請求;當(dāng)客戶端202的本地緩存中保存有所需要的非圖web資源時,指示該客戶端202直接從該客戶端202的本地緩存中讀取所需要的非圖web資源,否則,將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到 增量數(shù)據(jù);將增量數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端202。
上述某一類網(wǎng)站滿足的條件包括:網(wǎng)站各路徑下的同類非圖web資源個數(shù)少于預(yù)設(shè)數(shù)值,且同類非圖web資源的總?cè)萘啃∮陬A(yù)設(shè)容量;網(wǎng)站的用戶訪問量高于預(yù)設(shè)閾值;網(wǎng)站的改版頻率低于預(yù)設(shè)頻率。
上述超級網(wǎng)頁模板的數(shù)據(jù)結(jié)構(gòu)包括非圖web資源類型、網(wǎng)站的站點(diǎn)域名列表、超級網(wǎng)頁模板的版本號和將網(wǎng)站中上述非圖web資源類型的內(nèi)容合并成的文本數(shù)據(jù)。
非圖web資源包括外聯(lián)的JavaScript腳本和CSS樣式表。上述非圖web資源類型包括腳本類和樣式類。超級網(wǎng)頁模板可以為腳本超級模板和樣式超級模板。
進(jìn)一步地,在建立一個或多個不同超級網(wǎng)頁模板的過程中,服務(wù)器201,用于確定組織架構(gòu)完全一致的多個網(wǎng)站并將該多個網(wǎng)站的站點(diǎn)域名組成列表;確定網(wǎng)站的各路徑下的非圖web資源類型;設(shè)定該超級網(wǎng)頁模板的版本號;將網(wǎng)站中上述非圖web資源類型的內(nèi)容合并成文本數(shù)據(jù);通過預(yù)設(shè)的加密算法及編碼算法對上述文本數(shù)據(jù)進(jìn)行加密及編碼運(yùn)算,得到該超級網(wǎng)頁模板的標(biāo)識符,同時以該標(biāo)識符作為該超級網(wǎng)頁模板的文件名。服務(wù)器201將上述文本數(shù)據(jù)、標(biāo)識符、站點(diǎn)域名列表、非圖web資源類型及版本號組成超級網(wǎng)頁模板,將超級網(wǎng)頁模板存儲在其自身和客戶端202中。
上述將網(wǎng)站中上述非圖web資源類型的內(nèi)容合并成文本數(shù)據(jù)時,服務(wù)器201,用于基于文件級別把網(wǎng)站各路徑下的非圖web資源類型的內(nèi)容直接合并成文本數(shù)據(jù);或者,
服務(wù)器201,用于確定網(wǎng)站各路徑下的非圖web資源類型的內(nèi)容中各數(shù)據(jù)塊之間的相似程度,從各路徑下的非圖web資源類型的內(nèi)容中提取出相似程度大于預(yù)設(shè)相似值的數(shù)據(jù)塊,將提取的數(shù)據(jù)塊合并成文本數(shù)據(jù)。
進(jìn)一步地,客戶端202,用于當(dāng)準(zhǔn)備訪問一網(wǎng)站時,檢索其保存的一個或多個超級網(wǎng)頁模板,找出適用于該網(wǎng)站的超級網(wǎng)頁模板,從本地緩存 中獲取該網(wǎng)站的站點(diǎn)域名對應(yīng)的客戶端202緩存列表,該客戶端202緩存列表包括客戶端202已緩存的該站點(diǎn)域名對應(yīng)的非圖web資源的標(biāo)識;發(fā)送頁面請求給服務(wù)器201,在該頁面請求中提供所述網(wǎng)站的站點(diǎn)域名、超級網(wǎng)頁模板的標(biāo)識符、非圖web資源類型、版本號以及所述客戶端緩存列表。
進(jìn)一步地,服務(wù)器201,用于從頁面請求中解析出網(wǎng)站的站點(diǎn)域名、超級網(wǎng)頁模板的標(biāo)識符、非圖web資源類型、版本號以及所述客戶端緩存列表,獲取與所述站點(diǎn)域名對應(yīng)的且與解析出的非圖web資源類型相同的非圖web資源;計算獲取的非圖web資源的標(biāo)識,確定客戶端202緩存列表中是否包含計算的標(biāo)識,若包含,則判斷出所需要的非圖web資源存在于該客戶端202的本地緩存中,否則所需要的非圖web資源不存在于該客戶端202的本地緩存中。
服務(wù)器201,還用于對非圖web資源對應(yīng)的地址及非圖web資源的內(nèi)容進(jìn)行哈希運(yùn)算,得到非圖web資源對應(yīng)的哈希值,將哈希值用作為非圖web資源的標(biāo)識。
當(dāng)判斷出所需要的非圖web資源存在于該客戶端202的本地緩存中時,服務(wù)器201,用于將已緩存指示信息發(fā)送給該客戶端202,已緩存指示信息包括所需要的非圖web資源的標(biāo)識和已緩存標(biāo)識;
客戶端202,用于接收已緩存指示信息,根據(jù)所需要的非圖web資源的標(biāo)識直接從客戶端202本地緩存中獲取所需要的非圖web資源。
進(jìn)一步地,服務(wù)器201,用于從頁面請求中解析出站點(diǎn)域名對應(yīng)的超級網(wǎng)頁模板的標(biāo)識符和版本號;根據(jù)解析出的超級網(wǎng)頁模板的標(biāo)識符和版本號,從其保存的一個或多個超級網(wǎng)頁模板中獲取對應(yīng)的超級網(wǎng)頁模板,根據(jù)獲取的非圖web資源和超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù)。
進(jìn)一步地,服務(wù)器201,還用于將已進(jìn)行增量壓縮運(yùn)算的非圖web資源的標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符及增量壓縮運(yùn)算結(jié)果緩存在服務(wù)器201 本地緩存系統(tǒng),該增量壓縮運(yùn)算結(jié)果為成功標(biāo)識及增量數(shù)據(jù),或者該增量壓縮運(yùn)算結(jié)果為失敗標(biāo)識。
服務(wù)器201,還用于在進(jìn)行增量壓縮運(yùn)算之前,查詢服務(wù)器201本地緩存系統(tǒng)是否緩存了非圖web資源的標(biāo)識及超級網(wǎng)頁模板的標(biāo)識符對應(yīng)的增量壓縮運(yùn)算結(jié)果;當(dāng)服務(wù)器201本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果時,將該非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算,得到增量數(shù)據(jù);當(dāng)服務(wù)器201本地緩存系統(tǒng)緩存了對應(yīng)的增量壓縮運(yùn)算結(jié)果時,直接從服務(wù)器201本地緩存系統(tǒng)獲取對應(yīng)的增量壓縮運(yùn)算結(jié)果。
當(dāng)服務(wù)器本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果且服務(wù)器201進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù)后,服務(wù)器201,還用于當(dāng)服務(wù)器201本地緩存系統(tǒng)未緩存對應(yīng)的增量壓縮運(yùn)算結(jié)果且服務(wù)器201進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù)后,計算該增量數(shù)據(jù)的容量與非圖web資源的容量之間的比值,得到該非圖web資源對應(yīng)的增量壓縮率;若該增量壓縮率小于預(yù)設(shè)壓縮閾值,則通過增量緩存服務(wù)將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符、成功標(biāo)識及該增量數(shù)據(jù)緩存到服務(wù)器201本地緩存系統(tǒng);若該增量壓縮率大于或等于預(yù)設(shè)壓縮閾值,則通過增量緩存服務(wù)將該非圖web資源的標(biāo)識、該超級網(wǎng)頁模板的標(biāo)識符及失敗標(biāo)識緩存到服務(wù)器201本地緩存系統(tǒng)。
進(jìn)一步地,當(dāng)服務(wù)器201根據(jù)該增量壓縮運(yùn)算結(jié)果對頁面請求進(jìn)行應(yīng)答時,服務(wù)器201,用于當(dāng)對應(yīng)的增量壓縮運(yùn)算結(jié)果包括成功標(biāo)識及增量數(shù)據(jù)時,以增量方式對頁面請求進(jìn)行應(yīng)答;當(dāng)對應(yīng)的增量壓縮運(yùn)算結(jié)果包括失敗標(biāo)識時,以完整數(shù)據(jù)方式對頁面請求進(jìn)行應(yīng)答。
進(jìn)一步地,服務(wù)器201以增量方式對所述頁面請求進(jìn)行應(yīng)答的過程中,服務(wù)器201,還用于通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、增量運(yùn)算標(biāo)識、超級網(wǎng)頁模板的標(biāo)識符、該非圖web資源的原始大小、增量數(shù)據(jù)的大小及增量數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端202。
進(jìn)一步地,客戶端202,用于接收服務(wù)器201傳輸?shù)捻撁鎽?yīng)答數(shù)據(jù),通過預(yù)設(shè)協(xié)議格式解析頁面應(yīng)答數(shù)據(jù);根據(jù)本地緩存的與接收的超級網(wǎng)頁模板的標(biāo)識符對應(yīng)的超級網(wǎng)頁模板及增量數(shù)據(jù)還原所需要的非圖web資源;根據(jù)還原的非圖web資源的大小與頁面應(yīng)答數(shù)據(jù)包括的原始大小判斷還原操作是否成功;若還原成功且客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端202本地。
進(jìn)一步地,服務(wù)器201以完整數(shù)據(jù)方式對頁面請求進(jìn)行應(yīng)答的過程中,服務(wù)器201,還用于通過預(yù)設(shè)壓縮方式對該非圖web資源進(jìn)行壓縮,得到壓縮數(shù)據(jù);通過預(yù)設(shè)協(xié)議格式對該非圖web資源的頁面應(yīng)答頭信息、客戶端緩存判斷標(biāo)識、預(yù)設(shè)壓縮方式的標(biāo)識及壓縮數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)作為頁面應(yīng)答數(shù)據(jù)傳輸給客戶端202。
進(jìn)一步地,客戶端202,用于接收服務(wù)器201傳輸?shù)捻撁鎽?yīng)答數(shù)據(jù),通過預(yù)設(shè)協(xié)議格式解析頁面應(yīng)答數(shù)據(jù);根據(jù)預(yù)設(shè)壓縮方式的標(biāo)識,采用對應(yīng)的預(yù)設(shè)壓縮方式對壓縮數(shù)據(jù)進(jìn)行解壓縮,得到所需要的非圖web資源;若客戶端緩存判斷標(biāo)識指示需要緩存,則將所需要的非圖web資源緩存在客戶端202本地。
進(jìn)一步地,客戶端202,還用于以獨(dú)立于客戶端202本地緩存的方式管理其存儲的一個或多個超級網(wǎng)頁模板;通過后臺下發(fā)的控制參數(shù)來關(guān)閉或開啟某一類網(wǎng)站對應(yīng)的超級網(wǎng)頁模板。
進(jìn)一步地,服務(wù)器201,還用于每隔預(yù)設(shè)時間段檢測每個超級網(wǎng)頁模板對應(yīng)的網(wǎng)站的改版程度,當(dāng)檢測到一網(wǎng)站的改版程度超過預(yù)設(shè)改版程度時,根據(jù)改版后的該網(wǎng)站生成該網(wǎng)站對應(yīng)的新版本的超級網(wǎng)頁模板。
進(jìn)一步地,服務(wù)器201,還用于根據(jù)客戶端202發(fā)送的頁面請求,確定客戶端202緩存的所要訪問的網(wǎng)站對應(yīng)的超級網(wǎng)頁模板的版本是否為最新版本;當(dāng)確定出客戶端202緩存的該超級網(wǎng)頁模板的版本不是最新版本時,服務(wù)器201傳輸更新指示信息給該客戶端202;
客戶端202,還用于根據(jù)該更新指示信息從服務(wù)器201下載并存儲該 超級網(wǎng)頁模板的最新版本。
本發(fā)明實施例的有益效果是:建立一個或多個不同超級網(wǎng)頁模板并將其保存在服務(wù)器和客戶端,超級網(wǎng)頁模板包括某一類網(wǎng)站各路徑下的同類非圖web資源。當(dāng)所需要的非圖web資源未存在于客戶端本地緩存中時,服務(wù)器將根據(jù)頁面請求獲取的非圖web資源與超級網(wǎng)頁模板進(jìn)行增量壓縮運(yùn)算得到增量數(shù)據(jù),將增量數(shù)據(jù)傳給客戶端。由于服務(wù)器只將非圖web資源與超級網(wǎng)頁模板之間的增量數(shù)據(jù)傳給客戶端,避免了下發(fā)非圖web資源的完整數(shù)據(jù),縮短了頁面響應(yīng)時間,節(jié)省了傳輸流量。
本發(fā)明實施例所提供的頁面數(shù)據(jù)傳輸系統(tǒng)僅為本發(fā)明的具體系統(tǒng)實施例,本發(fā)明的保護(hù)范圍并不局限于此。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,前述描述的系統(tǒng)的具體工作過程,均可以參考上述方法實施例中的對應(yīng)過程。
所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。