專利名稱:加快瀏覽器網(wǎng)頁顯示的裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)信息瀏覽的裝置,尤其涉及一種加快瀏覽器網(wǎng)頁 顯示的裝置。本發(fā)明還涉及一種加快瀏覽器網(wǎng)頁顯示的方法。
技術(shù)背景使用瀏覽器訪問互聯(lián)網(wǎng),是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的一種最基本應(yīng)用。目前瀏覽器的種類繁多IE、 firefox、 NetScape、 0pera、 Maxthon等,但都受 兩個(gè)因素的影響訪問速度和實(shí)時(shí)性。訪問速度要求瀏覽器能夠在最短的 時(shí)間內(nèi)響應(yīng)用戶的URL請(qǐng)求,實(shí)時(shí)性則要求每次把最新的內(nèi)容呈現(xiàn)給用 戶。游覽器有一個(gè)很重要的部分就是緩存,如何使用緩存機(jī)制是評(píng)價(jià)一款 游覽器性能的重要指標(biāo)。緩存機(jī)制就是把游覽器所訪問過的頁面保存下 來,以便在下一次訪問同一頁面時(shí)能夠更快地顯示。有兩種極端地情況, 一是只要緩存中有的就不再向服務(wù)請(qǐng)求,而是直接提取緩存中的頁面并顯 示,這種情況速度最快但實(shí)時(shí)性最差。二是不管緩存中是否存在目標(biāo)頁面, 都向遠(yuǎn)程服務(wù)器請(qǐng)求目標(biāo)頁面,這樣的速度是最慢的,但實(shí)時(shí)性最高。因 而不同程度地使用緩存機(jī)制就能在瀏覽器的訪問速度和實(shí)時(shí)性之間進(jìn)行 調(diào)節(jié)。這就是游覽器的兩個(gè)基本問題數(shù)據(jù)的顯示和更新。例如IE是顯示更新結(jié)合在一起,只有在確保數(shù)據(jù)最新的情況下才顯示,因而就算緩存中慢。例如Opera則把數(shù)據(jù)的顯示和更新 分離,如果用戶請(qǐng)求的頁面在緩存中存在,那么就直接顯示緩存文件,然 后每隔一定時(shí)間例如5分鐘更新一次緩存數(shù)據(jù)。要想瀏覽器能有更快速度,就需要采用數(shù)據(jù)的顯示與更新分離的方 式。對(duì)于這個(gè)技術(shù)的最好體現(xiàn)就是搜索引擎如google、 baidu等,當(dāng)用戶 請(qǐng)求搜索的時(shí)候直接從自己數(shù)據(jù)庫中把己處理好的數(shù)據(jù)返回給用戶,而數(shù) 據(jù)的更新則是在后臺(tái)通過網(wǎng)絡(luò)蜘蛛不斷地獲取頁面、處理數(shù)據(jù)并把保存到 數(shù)據(jù)庫中。在一般情況下,游覽器在訪問資源時(shí)首先進(jìn)行本地驗(yàn)證,檢測(cè)資源是 否存在且是否過期,如果存在其有效,那么就直接取緩存數(shù)據(jù)并顯示到游 覽器界面,這種情況顯示的速度是最快的。如果資源存在但已過期,那么 就會(huì)構(gòu)造這個(gè)資源的驗(yàn)證包到遠(yuǎn)程服務(wù)器去驗(yàn)證。如果遠(yuǎn)程服務(wù)器上的該 資源沒有更新那么就直接返回304包,表示該資源已經(jīng)是最新,不需要再 重新下載;如果遠(yuǎn)程服務(wù)器上的該資源已經(jīng)更新,那么就返回包含最新資 源的200包,表示該資源己過期需要重新下載。這個(gè)流程如圖l所示,圖 1中虛線框以內(nèi)為普通游覽器內(nèi)核流程簡化圖,輸入為資源請(qǐng)求, 一般為 URL形式,輸出為顯示到游覽器。中國發(fā)明專利公開說明書CN101075236A (
公開日為2007年11月21 日)公開了一種加快瀏覽器網(wǎng)頁顯示的裝置和方法,通過預(yù)測(cè)當(dāng)前頁面中 的鏈接,預(yù)下載各鏈接的網(wǎng)頁保存到本地緩存,從而加快瀏覽器的瀏覽速 度,上述技術(shù)雖然將顯示和更新分開,但是對(duì)于瀏覽器每次顯示本地緩存 的頁面時(shí),按常規(guī)的操作仍需要與遠(yuǎn)程服務(wù)器建立通訊,收到遠(yuǎn)程服務(wù)器返回的確認(rèn)當(dāng)前頁面為最新頁面的IE響應(yīng)包304,瀏覽器才將本地緩存 的頁面顯示,這個(gè)交互的過程有時(shí)候很快有時(shí)候很慢,速度受網(wǎng)絡(luò)綜合因 素的影響。且上述技術(shù)的更新根據(jù)每次頁面的所有鏈接進(jìn)行預(yù)下載,則下 載更新的隊(duì)列變得很多,很多也并不是用戶會(huì)去訪問的,下載很多多余的 網(wǎng)頁浪費(fèi)了帶寬也浪費(fèi)了緩存的空間。 發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種加快瀏覽器網(wǎng)頁顯示的裝 置,它可以加快瀏覽器的顯示速度。為此,本發(fā)明還要提供一種加快瀏覽 器網(wǎng)頁顯示的方法。為解決上述技術(shù)問題,本發(fā)明的加快瀏覽器網(wǎng)頁顯示的裝置包括代理服務(wù)端,用于接收瀏覽器的IE請(qǐng)求包,向代理客戶端發(fā)送網(wǎng)絡(luò) 鏈接信息;代理客戶端, 一方面用于接收代理服務(wù)端傳遞的網(wǎng)絡(luò)鏈接信息,分析 該網(wǎng)絡(luò)鏈接信息所對(duì)應(yīng)的網(wǎng)頁是否存在于緩存管理器,存在則對(duì)網(wǎng)頁進(jìn)行 分析,不存在則向遠(yuǎn)程服務(wù)器發(fā)送網(wǎng)絡(luò)鏈接信息,另一方面向?yàn)g覽器發(fā)送 遠(yuǎn)程服務(wù)器返回的IE響應(yīng)包,或模擬遠(yuǎn)程服務(wù)器向?yàn)g覽器發(fā)送IE響應(yīng)包;緩存管理器,用于根據(jù)代理客戶端的分析,將緩存中的網(wǎng)頁進(jìn)行更 新,供瀏覽器顯示。本發(fā)明利用上述裝置加快瀏覽器網(wǎng)頁顯示的方法,包括如下步驟 (1 )瀏覽器發(fā)送IE請(qǐng)求包至代理服務(wù)端;(2) 代理服務(wù)端將IE請(qǐng)求包發(fā)送至代理客戶端;(3) 代理客戶端分析IE請(qǐng)求包中的鏈接信息對(duì)應(yīng)的網(wǎng)頁是否存在于緩存中,如果否則向遠(yuǎn)程服務(wù)器發(fā)送網(wǎng)頁的IE請(qǐng)求包,并接收響應(yīng)數(shù)據(jù) 將該網(wǎng)頁的IE響應(yīng)包返回瀏覽器,結(jié)束程序;(4) 對(duì)于緩存中存在的網(wǎng)頁,直接模擬遠(yuǎn)程服務(wù)器向?yàn)g覽器發(fā)送304 號(hào)響應(yīng)包,并把這個(gè)鏈接添加到緩存管理器,當(dāng)瀏覽器接收到304號(hào)響應(yīng) 時(shí),直接從緩存中取得頁面數(shù)據(jù)并顯示;(5) 分析網(wǎng)頁中的各個(gè)頁面元素是否為靜態(tài)文件,對(duì)于不是靜態(tài)文 件的頁面元素向遠(yuǎn)程服務(wù)器發(fā)送該頁面元素需要更新的IE請(qǐng)求包。因?yàn)楸景l(fā)明用顯示與更新分離的方法,同時(shí)模擬遠(yuǎn)程服務(wù)器發(fā)送IE 響應(yīng)包,減少了瀏覽器與遠(yuǎn)程服務(wù)器之間數(shù)據(jù)的交互,從而加快了瀏覽器 網(wǎng)頁顯示的速度。另外本發(fā)明還通過預(yù)測(cè)用戶的行為,更新緩存的網(wǎng)頁, 從而也節(jié)省了網(wǎng)頁開啟的時(shí)間,提高了效率。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。圖1是普通情況下瀏覽器數(shù)據(jù)處理流程;圖2是本發(fā)明的加快瀏覽器網(wǎng)頁顯示的裝置的總體結(jié)構(gòu)圖;圖3是本發(fā)明的加快瀏覽器網(wǎng)頁顯示的方法的流程圖;圖4是本發(fā)明用于多個(gè)瀏覽器的工作示意圖。
具體實(shí)施方式
如圖2所示,本發(fā)明的加快瀏覽器網(wǎng)頁顯示的裝置包括代理服務(wù) 端、代理客戶端和緩存管理器。其中代理服務(wù)端用于接收瀏覽器的IE請(qǐng) 求包,向代理客戶端發(fā)送網(wǎng)絡(luò)鏈接信息。代理客戶端, 一方面用于接收代 理服務(wù)端傳遞的網(wǎng)絡(luò)鏈接信息,分析該網(wǎng)絡(luò)鏈接信息所對(duì)應(yīng)的網(wǎng)頁是否存在于緩存管理器,存在則對(duì)網(wǎng)頁進(jìn)行分析,不存在則向遠(yuǎn)程服務(wù)器發(fā)送網(wǎng) 絡(luò)鏈接信息,另一方面向?yàn)g覽器發(fā)送遠(yuǎn)程服務(wù)器返回的IE響應(yīng)包,或模擬遠(yuǎn)程服務(wù)器向?yàn)g覽器發(fā)送IE響應(yīng)包。緩存管理器,用于根據(jù)代理客戶端的分析,將緩存中的網(wǎng)頁進(jìn)行更新,供瀏覽器顯示。本發(fā)明的加快瀏覽器網(wǎng)頁顯示的裝置還包括智能預(yù)測(cè),用于根據(jù)用 戶的行為預(yù)測(cè)用戶將要鏈接的網(wǎng)頁,并將該連接信息發(fā)送致緩存管理器。如圖3所示,本發(fā)明利用上述裝置加快瀏覽器網(wǎng)頁顯示的方法,包括如下步驟首先瀏覽器發(fā)送IE請(qǐng)求包至代理服務(wù)端,代理服務(wù)端將IE請(qǐng)求包發(fā)送至代理客戶端。然后代理客戶端提取信息,分析IE請(qǐng)求包中的鏈接信息對(duì)應(yīng)的網(wǎng)頁 是否存在于緩存中,如果否,則向遠(yuǎn)程服務(wù)器發(fā)送網(wǎng)頁的IE請(qǐng)求包,并 接收響應(yīng)數(shù)據(jù)將該網(wǎng)頁的IE響應(yīng)包返回瀏覽器,結(jié)束程序。對(duì)緩存中存儲(chǔ)的該網(wǎng)頁進(jìn)行邏輯策略分析,如果網(wǎng)頁存在于緩存中, 不需要檢測(cè)是否過期,也不需要經(jīng)過服務(wù)器驗(yàn)證,而是直接模擬遠(yuǎn)程服務(wù) 器向?yàn)g覽器發(fā)送304號(hào)響應(yīng)包,然后把這個(gè)鏈接添加到緩存管理器,當(dāng)瀏 覽器接收到304號(hào)響應(yīng)時(shí),就直接從緩存中取得頁面數(shù)據(jù)并顯示。進(jìn)一步分析網(wǎng)頁中的各個(gè)頁面元素是否為靜態(tài)文件(包括靜態(tài)圖片 和靜態(tài)腳本),對(duì)于不是靜態(tài)文件的頁面元素向遠(yuǎn)程服務(wù)器發(fā)送該頁面元 素需要更新的IE請(qǐng)求包。緩存管理器負(fù)責(zé)資源的更新和預(yù)下載,其中需維護(hù)兩個(gè)URL隊(duì)列, 一是更新URL隊(duì)列,二是預(yù)下載URL隊(duì)列。在提供代理服務(wù)過程,對(duì)請(qǐng)求進(jìn)行加速時(shí),會(huì)產(chǎn)生一個(gè)資源更新請(qǐng)求,通過優(yōu)先級(jí)測(cè)試策略添加到更新 URL隊(duì)列??梢苑治鲇脩粜袨?,預(yù)測(cè)將要訪問的資源,通過優(yōu)先級(jí)策略添加到預(yù)下載URL隊(duì)列。這里優(yōu)先級(jí)策略一般可以直接使用FIFO先來后到 的方法。之所以需要緩存管理器,就是為了實(shí)現(xiàn)顯示與更新分離,達(dá)到異 步的效果。智能預(yù)測(cè)的主要功能是分析用戶行為,從而預(yù)測(cè)用戶將要訪問的資 源。這是一個(gè)可擴(kuò)展模塊,可以根據(jù)具體需求逐步添加??梢酝ㄟ^打開頁 面后分析網(wǎng)頁中各個(gè)可鏈接元素,根據(jù)用戶的行為預(yù)測(cè)用戶可能鏈接的網(wǎng) 頁鏈接,將該鏈接加入緩存管理的預(yù)下載URL隊(duì)列。這是由一系列預(yù)測(cè)方 法構(gòu)成的策略集合,例如當(dāng)前訪問的URL是http:〃ww. abc. com/xyz,推 測(cè)用戶很有可能會(huì)訪問主頁http:〃www. abc. com:例如當(dāng)用戶鼠標(biāo)在游覽 器某個(gè)位置上停留一定時(shí)間假設(shè)為500ms,這就表示用戶很有可能會(huì)點(diǎn)擊 該位置的鏈接。這些都是可預(yù)測(cè)的行為。哪怕只提前幾百、幾十個(gè)毫秒都 能實(shí)現(xiàn)一定的加速效果。圖4是本發(fā)明用于多個(gè)瀏覽器的工作示意圖,本發(fā)明可以通過3個(gè) 步驟來實(shí)現(xiàn)(l)開發(fā)注入(HOOK)模塊,實(shí)現(xiàn)定向連接和智能預(yù)測(cè)。(2) 如果需要加速的目標(biāo)程序是由自己開發(fā),那么直接使用Load Library加 載Hook模塊即可。否則就開發(fā)一個(gè)加載器啟動(dòng)瀏覽器并實(shí)現(xiàn)模塊注入。 (3)實(shí)現(xiàn)加速服務(wù),需要開發(fā)代理服務(wù)器。瀏覽器中使用的協(xié)議有HTTP、 Secure、 FTP、 Gopher、 Socks等,但并不需要完全實(shí)現(xiàn)所有的協(xié)議代理 服務(wù)。 一般情況下,瀏覽器的最主要功能是實(shí)現(xiàn)網(wǎng)頁瀏覽器,此時(shí)可以只 實(shí)現(xiàn)一個(gè)HTTP代理服務(wù)。本發(fā)明的加快瀏覽器網(wǎng)頁顯示的方法主要有以下幾個(gè)優(yōu)勢(shì)(1)加 速服務(wù)本身作為一個(gè)獨(dú)立的公共加速平臺(tái),而不依附于某個(gè)具體的瀏覽 器。只要向?yàn)g覽器注入了實(shí)現(xiàn)定向連接和智能預(yù)測(cè)功能的模塊,該瀏覽器 中的所有請(qǐng)求和預(yù)測(cè)信息都會(huì)被轉(zhuǎn)發(fā)到加速服務(wù)模塊。(2)不影響瀏覽 器進(jìn)程的效率。定向模塊的功能非常小,幾乎所有的邏輯策略都在加速服 務(wù)模塊。(3)可擴(kuò)展性強(qiáng)。可以方便地向加速服務(wù)模塊增加擴(kuò)展地加速 功能。(4)獨(dú)立性強(qiáng)。用戶可以同時(shí)使用具體加速特性的瀏覽器和普通 瀏覽器,不必修改瀏覽器配置。
權(quán)利要求
1、一種加快瀏覽器網(wǎng)頁顯示的裝置;其特征在于,包括代理服務(wù)端,用于接收瀏覽器的IE請(qǐng)求包,向代理客戶端發(fā)送網(wǎng)絡(luò)鏈接信息;代理客戶端,一方面用于接收代理服務(wù)端傳遞的網(wǎng)絡(luò)鏈接信息,分析該網(wǎng)絡(luò)鏈接信息所對(duì)應(yīng)的網(wǎng)頁是否存在于緩存管理器,存在則對(duì)所述網(wǎng)頁進(jìn)行分析,不存在則向遠(yuǎn)程服務(wù)器發(fā)送網(wǎng)絡(luò)鏈接信息,另一方面向?yàn)g覽器發(fā)送遠(yuǎn)程服務(wù)器返回的IE響應(yīng)包,或模擬遠(yuǎn)程服務(wù)器向?yàn)g覽器發(fā)送IE響應(yīng)包;緩存管理器,用于根據(jù)代理客戶端的分析,將緩存中的網(wǎng)頁進(jìn)行更新,供瀏覽器顯示。
2、 如權(quán)利要求1所述的加快瀏覽器網(wǎng)頁顯示的裝置,其特征在于, 還包括智能預(yù)測(cè),用于根據(jù)用戶的行為預(yù)測(cè)用戶將要鏈接的網(wǎng)頁,并將該 連接信息發(fā)送致緩存管理器。
3、 如權(quán)利要求2所述的加快瀏覽器網(wǎng)頁顯示的裝置,其特征在于, 所述的緩存管理器包括二個(gè)URL隊(duì)列, 一個(gè)是基于代理客戶端分析信息的 更新URL隊(duì)列,另一個(gè)是基于智能預(yù)測(cè)分析的預(yù)下載URL隊(duì)列。
4、 一種加快瀏覽器網(wǎng)頁顯示的方法;其特征在于,包括如下步驟 (1 )瀏覽器發(fā)送IE請(qǐng)求包至代理服務(wù)端;(2) 代理服務(wù)端將所述的IE請(qǐng)求包發(fā)送至代理客戶端;(3) 代理客戶端分析所述IE請(qǐng)求包中的鏈接信息對(duì)應(yīng)的網(wǎng)頁是否存 在于緩存中,如果否則向遠(yuǎn)程服務(wù)器發(fā)送網(wǎng)頁的IE請(qǐng)求包,并接收響應(yīng)數(shù)據(jù)將該網(wǎng)頁的IE響應(yīng)包返回瀏覽器,結(jié)束程序;(4) 對(duì)于緩存中存在的網(wǎng)頁,直接模擬遠(yuǎn)程服務(wù)器向?yàn)g覽器發(fā)送304 號(hào)響應(yīng)包,并把這個(gè)鏈接添加到緩存管理器,當(dāng)瀏覽器接收到304號(hào)響應(yīng) 時(shí),直接從緩存中取得頁面數(shù)據(jù)并顯示;(5) 分析所述網(wǎng)頁中的各個(gè)頁面元素是否為靜態(tài)文件,對(duì)于不是靜 態(tài)文件的頁面元素向遠(yuǎn)程服務(wù)器發(fā)送該頁面元素需要更新的IE請(qǐng)求包。
5、 如權(quán)利要求4所述的加快瀏覽器網(wǎng)頁顯示的方法,其特征在于, 步驟(5)所述的靜態(tài)文件包括靜態(tài)圖片文件和靜態(tài)腳本文件。
6、 如權(quán)利要求4所述的加快瀏覽器網(wǎng)頁顯示的方法,其特征在于, 步驟(5)后還包括進(jìn)一步分析所述網(wǎng)頁中各個(gè)可鏈接元素,根據(jù)用戶 的行為預(yù)測(cè)用戶可能鏈接的網(wǎng)頁鏈接,將該鏈接加入緩存管理的預(yù)下載 URL隊(duì)列。
全文摘要
本發(fā)明公開了一種加快瀏覽器網(wǎng)頁顯示的裝置包括代理服務(wù)端、代理客戶端、緩存管理器。本發(fā)明加快瀏覽器顯示的方法,包括瀏覽器經(jīng)代理服務(wù)端將IE請(qǐng)求包發(fā)送至代理客戶端,代理客戶端分析鏈接信息對(duì)應(yīng)的網(wǎng)頁是否存在于緩存中,不在則經(jīng)遠(yuǎn)程服務(wù)器顯示頁面,存在則判斷網(wǎng)頁是否失效,失效則經(jīng)遠(yuǎn)程服務(wù)器顯示頁面,未失效則發(fā)送該網(wǎng)頁是最新的IE響應(yīng)包,同時(shí)將該頁面的鏈接加到緩存管理的更新隊(duì)列中,進(jìn)一步分析網(wǎng)頁中各頁面元素,對(duì)于不是靜態(tài)文件的頁面元素發(fā)送更新的IE請(qǐng)求包。本發(fā)明采用顯示與更新分離的方法,同時(shí)模擬遠(yuǎn)程服務(wù)器發(fā)送IE響應(yīng)包,減少了瀏覽器與遠(yuǎn)程服務(wù)器之間數(shù)據(jù)的交互,加快了瀏覽器網(wǎng)頁顯示的速度。
文檔編號(hào)H04L29/06GK101539911SQ200810043178
公開日2009年9月23日 申請(qǐng)日期2008年3月18日 優(yōu)先權(quán)日2008年3月18日
發(fā)明者張?jiān)趥? 張靜盛 申請(qǐng)人:盛大計(jì)算機(jī)(上海)有限公司