專利名稱:網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法及服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信領(lǐng)域,具體地,涉及一種網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法及服務(wù)器。
背景技術(shù):
目前,當(dāng)用戶使用瀏覽器訪問某個網(wǎng)站頁面時,通常是由中間件服務(wù)器先檢查緩存(memcache)存儲器是否已保存了該網(wǎng)站頁面的數(shù)據(jù),如果緩存存儲器沒有保存該網(wǎng)站頁面的數(shù)據(jù),中間件服務(wù)器再向該網(wǎng)站網(wǎng)頁服務(wù)器請求獲取頁面數(shù)據(jù)內(nèi)容。由于中間件服務(wù)器向網(wǎng)站的網(wǎng)頁服務(wù)器請求獲取網(wǎng)頁內(nèi)容數(shù)據(jù)內(nèi)容的速度比中間件服務(wù)器從緩存存儲器中獲取頁面數(shù)據(jù)內(nèi)容的速度慢,因而這種獲取所需網(wǎng)頁內(nèi)容數(shù)據(jù)的過程比較耗時。尤其是,用戶在訪問一些大型門戶網(wǎng)站或者國內(nèi)排名前100的網(wǎng)站等常用網(wǎng)站時,中間件服務(wù)器需要頻繁地從網(wǎng)頁服務(wù)器拉取所需的頁面數(shù)據(jù),因而大大地降低了用戶瀏覽網(wǎng)頁的速度,使用戶的上網(wǎng)體驗不佳。因此,在用戶瀏覽網(wǎng)頁過程中,如何有效地減少中間件服務(wù)器需要頻繁到網(wǎng)頁服務(wù)器獲取所需網(wǎng)頁內(nèi)容數(shù)據(jù)的客觀限制,從而加快用戶在瀏覽網(wǎng)頁過程中獲得所需頁面內(nèi)容的速度,是當(dāng)前急需解決的問題。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)存在的上述問題,本發(fā)明提供一種網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法及服務(wù)器,能夠在用戶瀏覽過程中減少服務(wù)器頻繁到網(wǎng)頁服務(wù)器獲取所需網(wǎng)頁內(nèi)容數(shù)據(jù)的情況,顯著提高用戶瀏覽網(wǎng)頁的速度,從而有效地避免了現(xiàn)有技術(shù)的上述缺陷。根據(jù)本發(fā)明的一個方面,提供一種網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法,所述方法由服務(wù)器執(zhí)行,所述方法包括服務(wù)器根據(jù)預(yù)存的系統(tǒng)配置文件所生成的預(yù)抓取策略,從網(wǎng)頁服務(wù)器中獲取網(wǎng)頁內(nèi)容數(shù)據(jù),并緩存于緩存存儲器中;其中,當(dāng)接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,服務(wù)器將緩存存儲器中預(yù)先緩存的相應(yīng)網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到瀏覽器客戶端。優(yōu)選地,在獲取并將網(wǎng)頁內(nèi)容數(shù)據(jù)緩存在緩存存儲器中之后,所述方法還包括確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新,并且在確定出需要更新時,從所述網(wǎng)頁服務(wù)器獲取所述被更新的網(wǎng)頁內(nèi)容數(shù)據(jù);利用所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)對存儲在緩存存儲器中的該網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新。優(yōu)選地,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新包括根據(jù)所述預(yù)抓取策略,定期檢查所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新,在檢查到所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。優(yōu)選地,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新包括根據(jù)所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)的頁面有效性,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新。優(yōu)選地,所述預(yù)抓取策略基于系統(tǒng)配置文件的更新來更新。
優(yōu)選地,在緩存所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)時,還包括判斷所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素是否為無緩存策略元素;在所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素是無緩存策略元素時,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取;如果所述預(yù)定次數(shù)獲取所獲取的網(wǎng)頁元素內(nèi)容相同,則將所述網(wǎng)頁元素強制存儲在所述緩存存儲器中,否則,不存儲所述網(wǎng)頁元素。優(yōu)選地,當(dāng)無法根據(jù)所述預(yù)抓取策略從所述網(wǎng)頁服務(wù)器抓取要獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素時,調(diào)整所述預(yù)抓取策略;根據(jù)所述調(diào)整后的預(yù)抓取策略,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取;如果獲取次數(shù)超出所述預(yù)定次數(shù)后仍無法獲取,則利用特定標(biāo)識替換該要獲取的網(wǎng)頁元素的內(nèi)容并且將該特定標(biāo)識作為該要獲取的網(wǎng)頁元素存儲到緩存存儲器中。優(yōu)選地,調(diào)整所述預(yù)抓取策略包括延長抓取等待時間。優(yōu)選地,所述緩存存儲器位于所述服務(wù)器中或者位于另一服務(wù)器中。根據(jù)本發(fā)明的另一個方面,提供一種用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的服務(wù)器,包括預(yù)抓取策略生成模塊,用于基于在所述服務(wù)器中存儲的系統(tǒng)配置文件,生成預(yù)抓取策略;網(wǎng)頁內(nèi)容獲取模塊,用于根據(jù)所生成的預(yù)抓取策略,從網(wǎng)頁服務(wù)器預(yù)先獲取要抓取的網(wǎng)頁內(nèi)容數(shù)據(jù);網(wǎng)頁內(nèi)容存儲模塊,用于將所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)存儲在緩存存儲器中;以及發(fā)送模塊,用于在接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求后,將緩存存儲器中預(yù)先緩存的相應(yīng)網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到瀏覽器客戶端。優(yōu)選地,所述服務(wù)器還包括所述確定模塊,用于確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新,在所述確定模塊確定需要更新時,所述網(wǎng)頁內(nèi)容獲取模塊從所述網(wǎng)頁服務(wù)器獲取所述被更新的網(wǎng)頁內(nèi)容數(shù)據(jù),并且所述服務(wù)器還包括網(wǎng)頁內(nèi)容更新模塊,用于利用所述網(wǎng)頁內(nèi)容獲取模塊所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)對存儲在緩存存儲器中的該網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新。優(yōu)選地,所述確定模塊還包括檢查模塊,用于根據(jù)所述預(yù)抓取策略,定期檢查所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新,其中,在所述檢查模塊檢查到所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時,所述確定模塊確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)
需要更新。優(yōu)選地,所述確定模塊還包括判斷模塊,用于判斷所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)的頁面有效性,其中,在所述判斷模塊判斷出所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)無效時,所述確定模塊確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。優(yōu)選地,所述服務(wù)器還包括預(yù)抓取策略更新模塊,用于根據(jù)系統(tǒng)配置文件的更新來更新預(yù)抓取策略。優(yōu)選地,所述網(wǎng)頁內(nèi)容存儲模塊還包括無緩存策略網(wǎng)頁元素判斷模塊,用于判斷所獲取的網(wǎng)頁內(nèi)容中的網(wǎng)頁元素是否是無緩存策略網(wǎng)頁元素;以及強制存儲模塊,用于將所獲取的網(wǎng)頁元素強制存儲在緩存存儲器中,其中,當(dāng)所述要獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素為無緩存策略元素時,所述網(wǎng)頁內(nèi)容獲取模塊對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,在所述預(yù)定次數(shù)獲取所獲取的網(wǎng)頁元素內(nèi)容相同時,所述強制存儲模塊將所述網(wǎng)頁元素強制存儲在所述緩存存儲器中,否則,所述網(wǎng)頁內(nèi)容存儲模塊不存儲所述網(wǎng)頁元素。優(yōu)選地,所述網(wǎng)頁內(nèi)容獲取模塊還包括預(yù)抓取策略調(diào)整模塊,用于當(dāng)無法根據(jù)所述預(yù)抓取策略從所述網(wǎng)頁服務(wù)器獲取要抓取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素時,調(diào)整所述預(yù)
6抓取策略,以及替換模塊,用于利用特定標(biāo)識來替換要獲取的網(wǎng)頁元素的內(nèi)容,其中,所述網(wǎng)頁內(nèi)容獲取模塊根據(jù)所述調(diào)整后的預(yù)抓取策略,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取, 在所述網(wǎng)頁內(nèi)容獲取模塊的獲取次數(shù)超出所述預(yù)定次數(shù)后仍無法獲取時,所述替換模塊利用特定標(biāo)識來替換要獲取的網(wǎng)頁元素的內(nèi)容,所述網(wǎng)頁內(nèi)容存儲模塊將該特定標(biāo)識作為該要獲取的網(wǎng)頁元素存儲到緩存存儲器中。
優(yōu)選地,所述緩存存儲器位于所述服務(wù)器中。優(yōu)選地,所述緩存存儲器位于與所述服務(wù)器分離的另一服務(wù)器中,其中,在接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,所述網(wǎng)頁內(nèi)容數(shù)據(jù)獲取模塊還用于從所述緩存存儲器中獲取所緩存的網(wǎng)頁內(nèi)容數(shù)據(jù),并且所述發(fā)送模塊將從所述緩存存儲器中獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)發(fā)送給瀏覽器客戶端。利用本發(fā)明的網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法及服務(wù)器,通過在用戶訪問網(wǎng)頁之前主動預(yù)抓取和緩存網(wǎng)頁內(nèi)容數(shù)據(jù),可以預(yù)先把常用網(wǎng)站的網(wǎng)頁內(nèi)容數(shù)據(jù)存儲到緩存存儲器中,因此在用戶瀏覽網(wǎng)頁時,減少了中間件服務(wù)器直接向該目標(biāo)網(wǎng)頁的網(wǎng)站網(wǎng)頁服務(wù)器請求獲取網(wǎng)頁內(nèi)容數(shù)據(jù)的頻率,因而由于服務(wù)器從緩存存儲器中讀取網(wǎng)頁內(nèi)容數(shù)據(jù)的速度比從目標(biāo)網(wǎng)頁的網(wǎng)站網(wǎng)頁服務(wù)器讀取的速度快,顯著縮短了用戶訪問網(wǎng)頁的請求時間,由此能夠在用戶瀏覽網(wǎng)頁時帶來更好的上網(wǎng)體驗。
通過參考以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中圖1是根據(jù)本發(fā)明一個實施例的用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的服務(wù)器的方框示意圖; 以及圖2是示出根據(jù)本發(fā)明實施例的利用圖1所示的服務(wù)器實現(xiàn)的網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法的流程圖。在所有附圖中相同的標(biāo)號指示相似或相應(yīng)的特征或功能。
具體實施例方式在下面的描述中,出于說明的目的,為了提供對一個或多個實施例的全面理解,闡述了許多具體細(xì)節(jié)。然而,很明顯,也可以在沒有這些具體細(xì)節(jié)的情況下實現(xiàn)這些實施例。 在其它例子中,為了便于描述一個或多個實施例,公知的結(jié)構(gòu)和設(shè)備以方框圖的形式示出。在此,在本發(fā)明的說明書中使用的術(shù)語僅僅是為了描述特定的實施例,而不是意圖限制本發(fā)明。如在本發(fā)明的說明書和所附權(quán)利要求中所使用的,單數(shù)形式“一個”、“一種” 和“該”意圖也包括復(fù)數(shù)形式,除非上下文以別的方式清楚指明。還應(yīng)該理解,這里所使用的術(shù)語“和/或”指的是、且包含相關(guān)列出項中的一個或多個的任何和所有可能的組合。還應(yīng)該理解,術(shù)語“包括”和/或“包含”當(dāng)用于該說明書中時,表示存在所述的特征、整體、步驟、 操作、元素、和/或部件,但是不排除存在或增加一個或多個其它特征、整體、步驟、操作、元素、部件、和/或其集合。下面將結(jié)合附圖和具體實施例對本發(fā)明做進一步詳細(xì)的描述。圖1示出了根據(jù)本發(fā)明實施例的用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的服務(wù)器的方框示意圖。
參照圖1,用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的服務(wù)器100包括預(yù)抓取策略生成模塊110、網(wǎng)頁內(nèi)容獲取模塊111、網(wǎng)頁內(nèi)容存儲模塊115、緩存存儲器120和發(fā)送模塊130。預(yù)抓取策略生成模塊110用于根據(jù)預(yù)存的系統(tǒng)配置文件來生成預(yù)抓取策略。這里,系統(tǒng)配置文件中包括多個預(yù)設(shè)的網(wǎng)頁URL、以及與這些URL相關(guān)的網(wǎng)頁元素等信息。其中,預(yù)設(shè)的網(wǎng)頁可以是常用網(wǎng)頁,例如,全國網(wǎng)頁點擊率排名在前100名的網(wǎng)站或根據(jù)用戶需要設(shè)定網(wǎng)站等。基于系統(tǒng)配置文件所生成的預(yù)抓取策略包括對預(yù)設(shè)的網(wǎng)頁URL進行預(yù)抓取的策略,諸如要獲取的網(wǎng)頁內(nèi)容的地址、需要從網(wǎng)頁中提取的內(nèi)容數(shù)據(jù)的信息,以及進行預(yù)抓取的時間間隔、預(yù)抓取的持續(xù)時間等等。在本發(fā)明的其它示例性實施例中,預(yù)抓取控制模塊113還可以包括預(yù)抓取策略更新模塊(圖中未示出),用于根據(jù)系統(tǒng)配置文件的更新來更新預(yù)抓取策略。利用預(yù)抓取策略更新模塊,可以根據(jù)用戶的需要隨時調(diào)整預(yù)抓取策略,從而使用戶的網(wǎng)頁瀏覽體驗更佳。網(wǎng)頁內(nèi)容獲取模塊111根據(jù)預(yù)抓取策略生成模塊110所生成的預(yù)抓取策略,從要網(wǎng)頁服務(wù)器預(yù)先抓取相應(yīng)的網(wǎng)頁內(nèi)容數(shù)據(jù)。此外,網(wǎng)頁內(nèi)容獲取模塊111還可以對所抓取的網(wǎng)頁進行頁面解析等處理。網(wǎng)頁內(nèi)容存儲模塊115將網(wǎng)頁內(nèi)容獲取模塊111所抓取的網(wǎng)頁內(nèi)容數(shù)據(jù)存儲在緩存存儲器120中。發(fā)送模塊130用于在瀏覽器客戶端發(fā)起網(wǎng)頁訪問請求時,根據(jù)來該網(wǎng)頁訪問請求,從緩存存儲器120中讀取出相應(yīng)的網(wǎng)頁內(nèi)容數(shù)據(jù)并傳送到瀏覽器客戶端。在本示例性實施例中,服務(wù)器100還包括確定模塊113,用于確定緩存存儲器120 中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新,在確定模塊113確定需要更新時,網(wǎng)頁內(nèi)容獲取模塊111從所述網(wǎng)頁服務(wù)器獲取被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)。在一個示例中,確定模塊113還可以包括檢查模塊(圖中未示出),用于根據(jù)預(yù)抓取策略,定期檢查網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新。其中,在該檢查模塊檢查到網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時,確定模塊113確定緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。在另一示例中,確定模塊113還包括判斷模塊(圖中未示出),用于判斷緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)的頁面有效性。其中,在該判斷模塊判斷出緩存存儲器120 中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)無效時,確定模塊113確定緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)
需要更新。此外,確定模塊113還可以基于本領(lǐng)域技術(shù)人員公知的其它方法來確定緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新。在本示例性實施例中,服務(wù)器100還包括網(wǎng)頁內(nèi)容更新模塊114,用于在確定模塊 113確定需要對緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新時,利用網(wǎng)頁內(nèi)容獲取模塊111所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)對存儲在緩存存儲器120中的該網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新。在網(wǎng)頁內(nèi)容獲取模塊111根據(jù)預(yù)抓取策略從網(wǎng)頁服務(wù)器抓取所需的網(wǎng)頁內(nèi)容數(shù)據(jù)中的某些網(wǎng)頁元素時,會發(fā)生處理超時。在這種情況下,網(wǎng)頁內(nèi)容獲取模塊111還包括 預(yù)抓取策略調(diào)整模塊112,用于當(dāng)無法根據(jù)預(yù)抓取策略從網(wǎng)頁服務(wù)器獲取要抓取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素(即,發(fā)生處理超時)時,調(diào)整所述預(yù)抓取策略;以及替換模塊(未示出),用于利用特定標(biāo)識來替換要獲取的網(wǎng)頁元素的內(nèi)容。具體地,網(wǎng)頁內(nèi)容獲取模塊111 根據(jù)所調(diào)整后的預(yù)抓取策略,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,在網(wǎng)頁內(nèi)容獲取模塊 111的獲取次數(shù)超出預(yù)定次數(shù)后仍無法獲取該網(wǎng)頁元素時,該替換模塊利用特定標(biāo)識來替換要獲取的網(wǎng)頁元素的內(nèi)容,網(wǎng)頁內(nèi)容存儲模塊116將該特定標(biāo)識作為該要獲取的網(wǎng)頁元素存儲到緩存存儲器120中。在網(wǎng)頁內(nèi)容存儲模塊115將網(wǎng)頁內(nèi)容獲取模塊111所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)緩存到緩存存儲器120中時,網(wǎng)頁內(nèi)容數(shù)據(jù)中可能包含無緩存策略的網(wǎng)頁元素。這里,“緩存策略” 是指服務(wù)器中預(yù)定的對網(wǎng)頁元素進行緩存或不進行緩存的策略,無緩存策略的網(wǎng)頁元素是指根據(jù)緩存策略不緩存或緩存策略未知的網(wǎng)頁元素,不緩存的網(wǎng)頁元素是指網(wǎng)頁元素屬性被定義為“不可緩存”的元素,諸如網(wǎng)頁中的廣告之類頻繁進行更新的元素,緩存策略未知的網(wǎng)頁元素是根據(jù)緩存策略預(yù)定的進行緩存或不進行緩存的網(wǎng)頁元素之外的特殊元素。在這種情況下,網(wǎng)頁內(nèi)容存儲模塊115還包括無緩存策略網(wǎng)頁元素判斷模塊116,用于判斷所獲取的網(wǎng)頁內(nèi)容中的網(wǎng)頁元素是否是無緩存策略網(wǎng)頁元素;以及強制存儲模塊(未示出),用于將所獲取的網(wǎng)頁元素強制存儲在緩存存儲器120中。更具體地,當(dāng)要獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素為無緩存策略元素時,網(wǎng)頁內(nèi)容獲取模塊115對該網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,在預(yù)定次數(shù)獲取所獲取的網(wǎng)頁元素內(nèi)容相同時,強制存儲模塊將所述網(wǎng)頁元素強制存儲在緩存存儲器120中,否則,網(wǎng)頁內(nèi)容存儲模塊115不存儲所述網(wǎng)頁元素。利用預(yù)抓取策略調(diào)整模塊112和無緩存策略網(wǎng)頁元素判斷模塊116,可以對網(wǎng)頁中的特定元素進行處理,以優(yōu)化網(wǎng)頁的預(yù)抓取效果,從而進一步提高服務(wù)器100預(yù)先抓取并緩存網(wǎng)頁內(nèi)容數(shù)據(jù)的效率。圖1是本發(fā)明的示例性實施例,在本發(fā)明的其它實施例中,服務(wù)器100中也可以不設(shè)置預(yù)抓取策略調(diào)整模塊112、確定模塊113、網(wǎng)頁內(nèi)容更新模塊114和無緩存策略網(wǎng)頁元素判斷模塊116。在本發(fā)明的其它示例性實施例中,緩存存儲器120可以不設(shè)置在服務(wù)器100中,而是設(shè)置在其它便于服務(wù)器100進行高速存取的服務(wù)器中。在這種情況下,在服務(wù)器100接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,網(wǎng)頁內(nèi)容數(shù)據(jù)獲取模塊111還用于從所述緩存存儲器中獲取所緩存的網(wǎng)頁內(nèi)容數(shù)據(jù),并且發(fā)送模塊130將從緩存存儲器120中獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)發(fā)送給瀏覽器客戶端。圖2是示出根據(jù)本發(fā)明實施例的利用圖1所示的服務(wù)器實現(xiàn)的網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法的流程圖。如圖2所示,在步驟S210,服務(wù)器100的網(wǎng)頁內(nèi)容獲取模塊111服務(wù)器根據(jù)預(yù)抓取策略生成模塊110所生成的預(yù)抓取策略,從網(wǎng)頁服務(wù)器中抓取網(wǎng)頁內(nèi)容數(shù)據(jù)。其中,預(yù)抓取策略是預(yù)抓取控制模塊113根據(jù)系統(tǒng)配置文件所生成,網(wǎng)頁內(nèi)容獲取模塊111所抓取的網(wǎng)頁內(nèi)容數(shù)據(jù)是從與預(yù)抓取策略中的預(yù)設(shè)網(wǎng)頁地址相對應(yīng)的網(wǎng)頁服務(wù)器中抓取的。網(wǎng)頁內(nèi)容獲取模塊111可以對所抓取的網(wǎng)頁內(nèi)容數(shù)據(jù)進行頁面解析,根據(jù)預(yù)抓取策略提取所需的網(wǎng)站地址等處理。在本發(fā)明的優(yōu)選實施例中,步驟S210中,當(dāng)網(wǎng)頁內(nèi)容獲取模塊111無法根據(jù)預(yù)抓取策略從網(wǎng)頁服務(wù)器抓取要獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素時,預(yù)抓取策略調(diào)整模塊 112調(diào)整所述預(yù)抓取策略。具體地,網(wǎng)頁內(nèi)容獲取模塊111根據(jù)所調(diào)整后的預(yù)抓取策略,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,如果獲取次數(shù)超出所述預(yù)定次數(shù)后仍無法獲取,則替換模塊(未示出)利用特定標(biāo)識替換該要獲取的網(wǎng)頁元素的內(nèi)容并且將該特定標(biāo)識作為該要獲取的網(wǎng)頁元素存儲到緩存存儲器120中。另外,在本發(fā)明的其它優(yōu)選實施例中,步驟S210中,還可以包括根據(jù)系統(tǒng)配置文件的更新來更新預(yù)抓取策略頁面的步驟。在步驟S220中,網(wǎng)頁內(nèi)容存儲模塊115將網(wǎng)頁內(nèi)容獲取模塊111所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)緩存到緩存存儲器120中。在本發(fā)明的其它優(yōu)選實施例中,在緩存所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)時,無緩存策略網(wǎng)頁元素判斷模塊116判斷所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素是否為無緩存策略元素。在無緩存策略網(wǎng)頁元素判斷模塊116判斷所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素是無緩存策略元素時,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,如果所述預(yù)定次數(shù)獲取所獲取的網(wǎng)頁元素內(nèi)容相同,則將所述網(wǎng)頁元素強制存儲在緩存存儲器120中,否則,不存儲所述網(wǎng)頁元素。在步驟S230,確定模塊113確定緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新。確定模塊113根據(jù)預(yù)抓取策略定期檢查網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新,在網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時,確定所述緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。在本發(fā)明的一個示例中,確定模塊113的檢查模塊(圖中未示出)可以根據(jù)預(yù)抓取策略,定期檢查網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新。更具體地,檢查模塊定期地讀取網(wǎng)頁服務(wù)器中網(wǎng)頁內(nèi)容數(shù)據(jù)的索引列表,將該索引列表與將存儲在服務(wù)器100中的網(wǎng)頁內(nèi)容數(shù)據(jù)的索引列表進行比較,判斷二者是否匹配,如果不匹配,則判斷出網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新,如果匹配,則所述網(wǎng)頁內(nèi)容數(shù)據(jù)沒有被更新。在本發(fā)明的另一個示例中,確定模塊113的判斷模塊(圖中未示出)可以判斷緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)的頁面有效性,例如,判斷頁面中的圖片或特定數(shù)據(jù)的有效性。在該判斷模塊判斷出緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)無效時,確定模塊 113確定緩存存儲器120中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新?;蛘?,也可以利用公知的網(wǎng)絡(luò)爬蟲技術(shù),當(dāng)網(wǎng)頁服務(wù)器中網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時, 通知服務(wù)器100的確定模塊113。在本發(fā)明的其它實施例中,也可以利用本領(lǐng)域技術(shù)人員公知的其它方法來確定網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新。在步驟S240,在確定模塊113確定需要更新時,網(wǎng)頁內(nèi)容獲取模塊111從網(wǎng)頁服務(wù)器獲取被更新的網(wǎng)頁內(nèi)容數(shù)據(jù),并將所所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到網(wǎng)頁內(nèi)容更新模塊114。在步驟S250,網(wǎng)頁內(nèi)容更新模塊114利用所接收的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)對存儲在緩存存儲器120中的該網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新。在步驟S^O,當(dāng)瀏覽器客戶端發(fā)起網(wǎng)頁訪問請求時,發(fā)送模塊130根據(jù)瀏覽器客戶端的網(wǎng)頁訪問請求將緩存存儲器120中預(yù)先緩存的相應(yīng)網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到瀏覽器客戶端。圖2是本發(fā)明的示例性實施例,在本發(fā)明的其它實施例中,用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的方法可以不包括上述確定是否更新的步驟S230、獲取被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟S240和存儲所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)的步驟S250。在本發(fā)明的其它示例性實施例中,如果用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的服務(wù)器與圖1的服務(wù)器100的區(qū)別僅僅是緩存存儲器不設(shè)置在服務(wù)器100中,而是位于與所述服務(wù)器分離的另一服務(wù)器中,則在利用所述服務(wù)器進行網(wǎng)頁內(nèi)容數(shù)據(jù)獲取時,在替換步驟S260的步驟 S260’中,在接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,網(wǎng)頁內(nèi)容數(shù)據(jù)獲取模塊111還用于從該緩存存儲器中獲取所緩存的網(wǎng)頁內(nèi)容數(shù)據(jù),并且由發(fā)送模塊將從所述緩存存儲器中獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)發(fā)送給瀏覽器客戶端。綜上所述,根據(jù)本發(fā)明的網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法及服務(wù)器具有以下優(yōu)點。通過在用戶訪問網(wǎng)頁之前由服務(wù)器對常用網(wǎng)站的網(wǎng)頁內(nèi)容數(shù)據(jù)進行主動的預(yù)抓取和緩存,可以預(yù)先把這些網(wǎng)頁內(nèi)容數(shù)據(jù)存儲到緩存存儲器中,因此在用戶瀏覽網(wǎng)頁時,減少了服務(wù)器直接向該目標(biāo)網(wǎng)頁的網(wǎng)站網(wǎng)頁服務(wù)器請求獲取網(wǎng)頁內(nèi)容數(shù)據(jù)的頻率,因而由于服務(wù)器從緩存存儲器中讀取網(wǎng)頁內(nèi)容數(shù)據(jù)的速度比從目標(biāo)網(wǎng)頁的網(wǎng)站網(wǎng)頁服務(wù)器讀取的速度快,顯著縮短了用戶瀏覽網(wǎng)頁的時間,由此能夠在用戶瀏覽網(wǎng)頁時帶來更好的上網(wǎng)體驗。盡管前面公開的內(nèi)容示出了本發(fā)明的示例性實施例,但是應(yīng)當(dāng)注意,在不背離權(quán)利要求限定的本發(fā)明的范圍的前提下,可以進行多種改變和修改。根據(jù)這里描述的發(fā)明實施例的方法權(quán)利要求的功能、步驟和/或動作不需以任何特定順序執(zhí)行。此外,盡管本發(fā)明的元素可以以個體形式描述或要求,但是也可以設(shè)想多個,除非明確限制為單數(shù)。盡管已經(jīng)結(jié)合詳細(xì)示出并描述的優(yōu)選實施例公開了本發(fā)明,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,對于上述根據(jù)本發(fā)明的基于觸摸屏的劃屏軌跡處理方法和服務(wù)器,還可以在不脫離本發(fā)明內(nèi)容的基礎(chǔ)上做出各種修改和變形。這些修改和變形落在本發(fā)明的保護范圍之內(nèi),并且本發(fā)明的保護范圍應(yīng)當(dāng)由所附的權(quán)利要求書的內(nèi)容確定。
權(quán)利要求
1.一種網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法,所述方法由服務(wù)器執(zhí)行,所述方法包括服務(wù)器根據(jù)預(yù)存的系統(tǒng)配置文件所生成的預(yù)抓取策略,從網(wǎng)頁服務(wù)器中獲取網(wǎng)頁內(nèi)容數(shù)據(jù),并緩存于緩存存儲器中;其中,當(dāng)接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,服務(wù)器將緩存存儲器中預(yù)先緩存的相應(yīng)網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到瀏覽器客戶端。
2.如權(quán)利要求1所述的方法,其中,在獲取并將網(wǎng)頁內(nèi)容數(shù)據(jù)緩存在緩存存儲器中之后,所述方法還包括確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新,并且在確定出需要更新時,從所述網(wǎng)頁服務(wù)器獲取所述被更新的網(wǎng)頁內(nèi)容數(shù)據(jù); 利用所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)對存儲在緩存存儲器中的該網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新。
3.如權(quán)利要求2所述的方法,其中,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新包括根據(jù)所述預(yù)抓取策略,定期檢查所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新, 在檢查到所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。
4.如權(quán)利要求2所述的方法,其中,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新包括根據(jù)所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)的頁面有效性,確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新。
5.按照權(quán)利要求1所述的方法,其中,所述預(yù)抓取策略基于系統(tǒng)配置文件的更新來更新。
6.按照權(quán)利要求1所述的方法,其中,在緩存所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)時,還包括 判斷所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素是否為無緩存策略元素;在所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素是無緩存策略元素時,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲??;如果所述預(yù)定次數(shù)獲取所獲取的網(wǎng)頁元素內(nèi)容相同,則將所述網(wǎng)頁元素強制存儲在所述緩存存儲器中,否則,不存儲所述網(wǎng)頁元素。
7.按照權(quán)利要求1所述的方法,其中,當(dāng)無法根據(jù)所述預(yù)抓取策略從所述網(wǎng)頁服務(wù)器抓取要獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素時,調(diào)整所述預(yù)抓取策略;根據(jù)所述調(diào)整后的預(yù)抓取策略,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲?。?如果獲取次數(shù)超出所述預(yù)定次數(shù)后仍無法獲取,則利用特定標(biāo)識替換該要獲取的網(wǎng)頁元素的內(nèi)容并且將該特定標(biāo)識作為該要獲取的網(wǎng)頁元素存儲到緩存存儲器中。
8.如權(quán)利要求7所述的方法,其中,調(diào)整所述預(yù)抓取策略包括延長抓取持續(xù)時間。
9.如權(quán)利要求1所述的方法,其中,所述緩存存儲器位于所述服務(wù)器中或者位于另一服務(wù)器中。
10.一種用于網(wǎng)頁內(nèi)容數(shù)據(jù)獲取的服務(wù)器,包括預(yù)抓取策略生成模塊,用于基于在所述服務(wù)器中存儲的系統(tǒng)配置文件,生成預(yù)抓取策略;網(wǎng)頁內(nèi)容獲取模塊,用于根據(jù)所生成的預(yù)抓取策略,從網(wǎng)頁服務(wù)器預(yù)先獲取要抓取的網(wǎng)頁內(nèi)容數(shù)據(jù);網(wǎng)頁內(nèi)容存儲模塊,用于將所獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)存儲在緩存存儲器中;以及發(fā)送模塊,用于在接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求后,將緩存存儲器中預(yù)先緩存的相應(yīng)網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到瀏覽器客戶端。
11.如權(quán)利要求10所述的服務(wù)器,還包括確定模塊,用于確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)是否需要更新,在所述確定模塊確定需要更新時,所述網(wǎng)頁內(nèi)容獲取模塊從所述網(wǎng)頁服務(wù)器獲取所述被更新的網(wǎng)頁內(nèi)容數(shù)據(jù),并且所述服務(wù)器還包括網(wǎng)頁內(nèi)容更新模塊,用于利用所述網(wǎng)頁內(nèi)容獲取模塊所獲取的被更新的網(wǎng)頁內(nèi)容數(shù)據(jù)對存儲在緩存存儲器中的該網(wǎng)頁內(nèi)容數(shù)據(jù)進行更新。
12.如權(quán)利要求11所述的服務(wù)器,所述確定模塊還包括檢查模塊,用于根據(jù)所述預(yù)抓取策略,定期檢查所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)是否被更新,其中,在所述檢查模塊檢查到所述網(wǎng)頁服務(wù)器中的網(wǎng)頁內(nèi)容數(shù)據(jù)被更新時,所述確定模塊確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。
13.如權(quán)利要求11所述的服務(wù)器,其中,所述確定模塊還包括判斷模塊,用于判斷所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)的頁面有效性,其中,在所述判斷模塊判斷出所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)無效時,所述確定模塊確定所述緩存存儲器中存儲的網(wǎng)頁內(nèi)容數(shù)據(jù)需要更新。
14.如權(quán)利要求10所述的服務(wù)器,還包括預(yù)抓取策略更新模塊,用于根據(jù)系統(tǒng)配置文件的更新來更新預(yù)抓取策略。
15.如權(quán)利要求10所述的服務(wù)器,其中,所述網(wǎng)頁內(nèi)容存儲模塊還包括無緩存策略網(wǎng)頁元素判斷模塊,用于判斷所獲取的網(wǎng)頁內(nèi)容中的網(wǎng)頁元素是否是無緩存策略網(wǎng)頁元素;以及強制存儲模塊,用于將所獲取的網(wǎng)頁元素強制存儲在緩存存儲器中,其中,當(dāng)所述要獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素為無緩存策略元素時,所述網(wǎng)頁內(nèi)容獲取模塊對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,在所述預(yù)定次數(shù)獲取所獲取的網(wǎng)頁元素內(nèi)容相同時,所述強制存儲模塊將所述網(wǎng)頁元素強制存儲在所述緩存存儲器中,否則,所述網(wǎng)頁內(nèi)容存儲模塊不存儲所述網(wǎng)頁元素。
16.如權(quán)利要求10所述的服務(wù)器,其中,所述網(wǎng)頁內(nèi)容獲取模塊還包括預(yù)抓取策略調(diào)整模塊,用于當(dāng)無法根據(jù)所述預(yù)抓取策略從所述網(wǎng)頁服務(wù)器獲取要抓取的網(wǎng)頁內(nèi)容數(shù)據(jù)中的網(wǎng)頁元素時,調(diào)整所述預(yù)抓取策略,以及替換模塊,用于利用特定標(biāo)識來替換要獲取的網(wǎng)頁元素的內(nèi)容,其中,所述網(wǎng)頁內(nèi)容獲取模塊根據(jù)所述調(diào)整后的預(yù)抓取策略,對所述網(wǎng)頁元素進行預(yù)定次數(shù)的獲取,在所述網(wǎng)頁內(nèi)容獲取模塊的獲取次數(shù)超出所述預(yù)定次數(shù)后仍無法獲取時, 所述替換模塊利用特定標(biāo)識來替換要獲取的網(wǎng)頁元素的內(nèi)容,所述網(wǎng)頁內(nèi)容存儲模塊將該特定標(biāo)識作為該要獲取的網(wǎng)頁元素存儲到緩存存儲器中。
17.如權(quán)利要求10所述的服務(wù)器,其中,所述緩存存儲器位于所述服務(wù)器中。
18.如權(quán)利要求10所述的服務(wù)器,其中,所述緩存存儲器位于與所述服務(wù)器分離的另一服務(wù)器中,其中,在接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,所述網(wǎng)頁內(nèi)容數(shù)據(jù)獲取模塊還用于從所述緩存存儲器中獲取所緩存的網(wǎng)頁內(nèi)容數(shù)據(jù),并且所述發(fā)送模塊將從所述緩存存儲器中獲取的網(wǎng)頁內(nèi)容數(shù)據(jù)發(fā)送給瀏覽器客戶端。
全文摘要
本發(fā)明公開了一種網(wǎng)頁內(nèi)容數(shù)據(jù)獲取方法及服務(wù)器。所述方法由服務(wù)器實現(xiàn),所述方法包括服務(wù)器根據(jù)預(yù)存的系統(tǒng)配置文件所生成的預(yù)抓取策略,從網(wǎng)頁服務(wù)器中獲取網(wǎng)頁內(nèi)容數(shù)據(jù),并緩存于緩存存儲器中;其中,當(dāng)接收到瀏覽器客戶端發(fā)起的網(wǎng)頁訪問請求時,服務(wù)器將緩存存儲器中預(yù)先緩存的相應(yīng)網(wǎng)頁內(nèi)容數(shù)據(jù)傳送到瀏覽器客戶端。利用該方法和服務(wù)器,能夠顯著縮短用戶瀏覽網(wǎng)頁的時間,由此能夠帶給用戶更好的上網(wǎng)體驗。
文檔編號G06F17/30GK102364461SQ201110181418
公開日2012年2月29日 申請日期2011年6月30日 優(yōu)先權(quán)日2011年6月30日
發(fā)明者梁捷, 江蔚然, 潘連銓, 陳嘉彬 申請人:廣州市動景計算機科技有限公司