一種基于云端模板預先加載的網(wǎng)頁渲染加速方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于云端模板預先加載的網(wǎng)頁渲染加速方法和系統(tǒng)。瀏覽器發(fā)出的請求通過一個云端的服務器進行代理,云端獲得網(wǎng)頁的html代碼后進行分析,抽取出模板和內(nèi)容部分別發(fā)送到瀏覽器進行渲染,瀏覽器之后再有相同目錄層級下的網(wǎng)頁請求時,在本地預先加載模板部分,云端只返回該網(wǎng)頁的內(nèi)容部分,瀏覽器再在已有模板的基礎上渲染內(nèi)容部分。利用本發(fā)明提供的技術(shù)方案,可以降低因訪問同一網(wǎng)站目錄層級下網(wǎng)頁模板重復加載帶來的時間消耗,并且同時可以降低流量和電池電量的消耗,提高用戶體驗。
【專利說明】一種基于云端模板預先加載的網(wǎng)頁渲染加速方法和系統(tǒng)
【技術(shù)領域】
[0001]本發(fā)明提供一種基于云端網(wǎng)頁渲染加速的方法和系統(tǒng),具體涉及一種網(wǎng)頁模板提取與內(nèi)容分離的方法。
【背景技術(shù)】
[0002]萬維網(wǎng)(WWW)上的每個網(wǎng)站下都有大量內(nèi)容不同的網(wǎng)頁,這些網(wǎng)頁通常按照內(nèi)容的相關性組織在不同的層級目錄中。例如同一網(wǎng)站下體育相關信息的網(wǎng)址可能分別是“http://www.test, com/sports/001.htm,,和 “http://www.test, com/sports/002.htm,,,而和購物信息相關的網(wǎng)頁分別是 “http: //www.test, com/shopping/001, htm” 和 “http: //www.test, com/shopping/002.htm”。由于內(nèi)容不相關的信息需要有不同的展現(xiàn)形式,通常網(wǎng)頁開發(fā)者會用不同的模板對網(wǎng)頁進行設計,而內(nèi)容相關的網(wǎng)頁通常由相同的模板生成。由于內(nèi)容通常按照目錄層級組織,因此在網(wǎng)站同一目錄層級的網(wǎng)頁大多利用同一模板。
[0003]通常用戶對網(wǎng)頁的瀏覽在一定時間內(nèi)會集中在內(nèi)容相關的網(wǎng)頁中,這時相同的模板內(nèi)容會不斷地被下載到瀏覽器進行渲染,一方面重復渲染會浪費時間,并且會消耗不必要的網(wǎng)絡流量,另一方面功耗也會上升,這些問題在移動端尤為明顯。
【發(fā)明內(nèi)容】
[0004]發(fā)明的目的是提供一種新的方法,使得瀏覽器通過和云端交互,不必重復加載相同的網(wǎng)頁模板,只需加載網(wǎng)頁的內(nèi)容部分,來達到網(wǎng)頁加載速度的提升,同時能降低瀏覽器的流量和能耗的消耗。
[0005]本發(fā)明的原理是:瀏覽器發(fā)出的請求通過一個云端的服務器進行代理,云端獲得網(wǎng)頁的html代碼后進行分析,抽取出模板和內(nèi)容部分別發(fā)送到瀏覽器進行渲染,瀏覽器之后再有相同目錄層級下的網(wǎng)頁請求時,在本地預先加載模板部分,云端只返回該網(wǎng)頁的內(nèi)容部分,瀏覽器再在已有模板的基礎上渲染內(nèi)容部分。
[0006]本發(fā)明提供的技術(shù)方案如下:
[0007]—種基于云端模板預先加載的網(wǎng)頁渲染加速方法,其特征是,
[0008]I)瀏覽器向云端發(fā)送網(wǎng)頁請求信息;
[0009]2)云端從網(wǎng)站獲取網(wǎng)頁代碼并將之解析為內(nèi)容和模板兩部分;
[0010]3)云端根據(jù)瀏覽器發(fā)送的請求信息判斷是否需要向瀏覽器發(fā)送模板,如果需要,則發(fā)送模板和內(nèi)容,否則,僅發(fā)送內(nèi)容;
[0011]4)瀏覽器對模板和內(nèi)容進行渲染。
[0012]所述的網(wǎng)頁渲染加速方法,其特征是,所述瀏覽器根據(jù)網(wǎng)站的層級目錄保存相應的網(wǎng)頁模板。
[0013]所述的網(wǎng)頁渲染加速方法,其特征是,瀏覽器向云端發(fā)送的網(wǎng)頁請求信息包括:網(wǎng)頁的網(wǎng)址;還包括,需要模板標志(即需要云端返回模板,這意味著瀏覽器本地無相應的模板,需要從云端獲取),或者,本地模板的哈希碼;[0014]如果是需要模板標志,則云端返回模板;如果是本地模板的哈希碼,則云端用此哈希碼和云端計算出的哈希碼進行對比,如果二者相同,則僅返回網(wǎng)頁內(nèi)容,如果二者不同,則返回網(wǎng)頁內(nèi)容和模板。
[0015]一種基于云端模板預先加載的網(wǎng)頁渲染加速方法,其特征是,
[0016]A.當瀏覽器訪問某個網(wǎng)址,且不存在當前網(wǎng)站層級下的模板時,執(zhí)行如下操作:
[0017]Al.同時向云端請求該網(wǎng)址網(wǎng)頁的內(nèi)容及模板;
[0018]A2.云端獲取網(wǎng)頁的html文本,并解析出模板和內(nèi)容;
[0019]A3.云端將解析出的模板和內(nèi)容發(fā)送到瀏覽器;
[0020]A4.瀏覽器組裝模板和內(nèi)容進行渲染,并將模板保存;
[0021]B.當瀏覽器訪問某個網(wǎng)址,且存在當前網(wǎng)站層級目錄下的模板時,執(zhí)行如下操作:
[0022]B1.向云端請求該網(wǎng)址的內(nèi)容,并發(fā)送本地模板的哈希值;
[0023]B2.瀏覽器端預先渲染模板;
[0024]B3.云端獲取網(wǎng)頁的html文本,并解析出模板和內(nèi)容;
[0025]B4.若云端模板哈希值和瀏覽器端一致,執(zhí)行如下操作:
[0026]B4.1.云端僅發(fā)送網(wǎng)頁內(nèi)容到瀏覽器;
[0027]B4.2.瀏覽器將接收到的網(wǎng)頁內(nèi)容和本地的模板整合并渲染;
[0028]B5.若云端模板哈希值和瀏覽器端不一致,執(zhí)行如下操作:
[0029]B5.1.云端將模板和內(nèi)容發(fā)送到瀏覽器,并提示瀏覽器更新模板;
[0030]B5.2.瀏覽器重新組合模板和內(nèi)容,并重新渲染;
[0031]B5.3.瀏覽器更新模板,保存新的模板。
[0032]所述的網(wǎng)頁渲染加速方法,其特征是,所述云端的執(zhí)行流程如下:
[0033]I)接受瀏覽器請求;
[0034]2)獲取網(wǎng)頁文本;
[0035]3 )把網(wǎng)頁文本解析出模板和內(nèi)容兩部分;
[0036]4)判斷瀏覽器請求中是否包括模板,如果是,則發(fā)送模板和內(nèi)容到瀏覽器;否則,根據(jù)瀏覽器端發(fā)送的模板哈希碼和云端的模板哈希碼進行判斷,如果二者一致,則僅發(fā)送內(nèi)容到瀏覽器,如果二者不一致,則發(fā)送模板和內(nèi)容到瀏覽器,同時要求瀏覽器更新模板。
[0037]本發(fā)明同時提供一種基于云端模板預先加載的網(wǎng)頁渲染加速系統(tǒng),包括,位于客戶端的瀏覽器,位于云端的網(wǎng)站服務器裝置,其特征是,還包括位于云端的服務器代理單元;
[0038]所述瀏覽器,向云端發(fā)送網(wǎng)頁請求;接收從云端返回的網(wǎng)頁內(nèi)容,或者網(wǎng)頁內(nèi)容及模板;對網(wǎng)頁內(nèi)容及模板進行渲染;根據(jù)網(wǎng)站層級目錄儲存網(wǎng)頁模板;
[0039]所述服務器代理單元,接收從瀏覽器發(fā)來的網(wǎng)頁請求;從所述網(wǎng)站服務器裝置獲取網(wǎng)頁;將網(wǎng)頁解析成內(nèi)容和模板兩部分;根據(jù)瀏覽器的請求情況,向瀏覽器僅返回內(nèi)容,或者返回內(nèi)容及模板。
[0040]所述的網(wǎng)頁渲染加速系統(tǒng),其特征是,所述瀏覽器為個人電腦上的瀏覽器或者智能手機上的瀏覽器。
[0041]所述的網(wǎng)頁渲染加速系統(tǒng),其特征是,當瀏覽器已包含相應網(wǎng)頁模板時,在發(fā)送網(wǎng)頁請求的同時渲染本地模板,以加快渲染速度,提高用戶體驗。
[0042]本發(fā)明的有益效果:利用本發(fā)明提供的技術(shù)方案,可以降低因訪問同一網(wǎng)站目錄層級下網(wǎng)頁模板重復加載帶來的時間消耗,并且同時可以降低流量和電池電量的消耗,提聞用戶體驗。
【專利附圖】
【附圖說明】
[0043]圖1是本發(fā)明瀏覽器端無模板瀏覽器端加載網(wǎng)頁的流程。
[0044]圖2是本發(fā)明瀏覽器端有模板瀏覽器端加載網(wǎng)頁的流程。
[0045]圖3是本發(fā)明云端輔助瀏覽器端的流程圖。
【具體實施方式】
[0046]本發(fā)明的【具體實施方式】如下:
[0047]A.當瀏覽器訪問某個網(wǎng)址,且不存在當前網(wǎng)站層級下的模板時,執(zhí)行如下操作:(如圖1)
[0048]Al.同時向云端請求該網(wǎng)址網(wǎng)頁的內(nèi)容及模板;
[0049]A2.云端獲取網(wǎng)頁的html文本,并解析出模板部分和內(nèi)容部分,在分離模板和內(nèi)容方面現(xiàn)在已經(jīng)有很多成熟的算法和實例;
[0050]A3.云端將模板和內(nèi)容發(fā)送到瀏覽器;
[0051]A4.瀏覽器組裝模板和內(nèi)容進行渲染,并將模板保存,計算模板的哈希值,用于今后的模板校驗。(參考實例I)
[0052]B.當瀏覽器訪問某個網(wǎng)址,且存在當前網(wǎng)站層級目錄下的模板時,執(zhí)行如下操作(如圖2):
[0053]B1.向云端請求該網(wǎng)址的內(nèi)容,并發(fā)送本地模板的哈希值,用于校驗本地模板是否正確或者過期;
[0054]B2.瀏覽器端預先渲染網(wǎng)頁模板部分,和發(fā)送請求過程并行,可以提高加載速度;
[0055]B3.云端獲取網(wǎng)頁的html文本,并解析出模板部分和內(nèi)容部分,;
[0056]B4.若云端模板哈希值和瀏覽器端一致,說明本地存在該網(wǎng)頁的模板,執(zhí)行如下操作:
[0057]B4.1.云端僅發(fā)送網(wǎng)頁內(nèi)容部分,省略掉模板部分以節(jié)省流量;
[0058]B4.2.瀏覽器將網(wǎng)頁內(nèi)容部分和模板部分整合并渲染。
[0059]B5.若云端模板哈希值和瀏覽器端不一致,說明模板不正確或者過期,執(zhí)行如下操作:
[0060]B5.1.云端將模板和內(nèi)容發(fā)送到瀏覽器,并提示瀏覽器更新模板;
[0061]B5.2.瀏覽器重新組合模板部分和內(nèi)容部分,并重新渲染;
[0062]B5.3.瀏覽器更新模板,保存新的模板。(參考實例2)
[0063]云端執(zhí)行的操作流程如圖3所示,包括如下步驟:
[0064]5)接受瀏覽器請求;
[0065]6)獲取網(wǎng)頁文本;
[0066]7 )把網(wǎng)頁文本解析出模板和內(nèi)容兩部分;[0067]8)判斷瀏覽器請求中是否包括模板,如果是,則發(fā)送模板和內(nèi)容到瀏覽器;否則,根據(jù)瀏覽器端發(fā)送的模板哈希碼和云端的模板哈希碼進行判斷,如果二者一致,則僅發(fā)送內(nèi)容到瀏覽器,如果二者不一致,則發(fā)送模板和內(nèi)容到瀏覽器,同時要求瀏覽器更新模板。
[0068]下面通過實例對本發(fā)明做進一步說明。
[0069]實施例1:
[0070]假定一個按照目錄分層存放網(wǎng)頁的網(wǎng)站http://www.test, com下的目錄a下有若干個網(wǎng)頁,用戶訪問其中的某一個網(wǎng)頁http://www.test, com/a/001, html,此時瀏覽器端沒有緩存的模板。此例中瀏覽器需要向云端同時請求網(wǎng)頁的模板和內(nèi)容,對模板和內(nèi)容進行組裝渲染,并保存模板。
[0071]網(wǎng)頁加載的流程圖如圖1所示,包括如下步驟:
[0072]I)查找當前瀏覽器模板,沒有發(fā)現(xiàn)http:// www.test, com/a/ 的模板;
[0073]2)向云端發(fā)送http://www.test, com/a/001, html模板和內(nèi)容的請求;
[0074]3)云端解析網(wǎng)頁的模板和內(nèi)容,并發(fā)送給瀏覽器;
[0075]4)瀏覽器將http://www.test, com/a/001, html的模板和內(nèi)容組合并進行渲染;
[0076]5)瀏覽器端保存模板并計算模板的哈希值,對以后屬于http:// www.test, com/a/目錄下的網(wǎng)頁預先渲染此模板。
[0077]實施例2:
[0078]如實施例1所述,不同之處在于:此時用戶瀏覽器端存在http://www.test, com/a/的模板。
[0079]此時瀏覽器端需要發(fā)送模板的哈希值和云端進行校驗,如果模板正確則云端只需發(fā)送網(wǎng)頁內(nèi)容部分數(shù)據(jù)即可由瀏覽器端組裝出完整的網(wǎng)頁。若模板不正確則云端重新發(fā)送模板,瀏覽器端更新模板。
[0080]網(wǎng)頁加載的流程圖如圖2所示,包括如下步驟:
[0081 ] I)查找當前瀏覽器端模板,發(fā)現(xiàn)存在http: // www.test, com/a/ 的模板;
[0082]2)向云端發(fā)送http://www.test, com/a/001, html內(nèi)容的請求,以及瀏覽器端對應模板的哈希值;
[0083]3)云端解析網(wǎng)頁的模板和內(nèi)容,將云端的模板哈希值和瀏覽器端模板的哈希值進行比較;
[0084]4)云端檢測哈希值相同,只返回網(wǎng)頁內(nèi)容;
[0085]5)瀏覽器將本地得到的http://www.test, com/a/002, html的模板和從云端接收的內(nèi)容組合并進行渲染;
[0086]實施例3:
[0087]—種基于云端模板預先加載的網(wǎng)頁渲染加速系統(tǒng),包括,位于客戶端的瀏覽器,位于云端的網(wǎng)站服務器裝置,位于云端的服務器代理單元;
[0088]所述瀏覽器,向云端發(fā)送網(wǎng)頁請求;接收從云端返回的網(wǎng)頁內(nèi)容,或者網(wǎng)頁內(nèi)容及模板;對網(wǎng)頁內(nèi)容及模板進行渲染;根據(jù)網(wǎng)站層級目錄儲存網(wǎng)頁模板;
[0089]所述服務器代理單元,接收從瀏覽器發(fā)來的網(wǎng)頁請求;從所述網(wǎng)站服務器裝置獲取網(wǎng)頁;將網(wǎng)頁解析成內(nèi)容和模板兩部分;根據(jù)瀏覽器的請求情況,向瀏覽器僅返回內(nèi)容,或者返回內(nèi)容及模板。[0090]所述瀏覽器為個人電腦上的瀏覽器或者智能手機上的瀏覽器。
[0091]當瀏覽器已包含相應網(wǎng)頁模板時,在發(fā)送網(wǎng)頁請求的同時渲染本地模板,以加快渲染速度,提高用戶體驗。
[0092]由上可知,通過本發(fā)明所述的方法,可以降低因訪問同一網(wǎng)站目錄層級下網(wǎng)頁模板重復加載帶來的時間消耗,并且同時可以降低網(wǎng)絡的流量以及電池電量的消耗,提高了用戶體驗。本發(fā)明可以用于個人電腦的瀏覽器網(wǎng)站訪問,也可用于智能手機等智能電子設備的瀏覽器訪問。
【權(quán)利要求】
1.一種基于云端模板預先加載的網(wǎng)頁渲染加速方法,其特征是, .1)瀏覽器向云端發(fā)送網(wǎng)頁請求信息; .2)云端從網(wǎng)站獲取網(wǎng)頁代碼并將之解析為內(nèi)容和模板兩部分; .3)云端根據(jù)瀏覽器發(fā)送的請求信息判斷是否需要向瀏覽器發(fā)送模板,如果需要,則發(fā)送模板和內(nèi)容,否則,僅發(fā)送內(nèi)容; . 4)瀏覽器對模板和內(nèi)容進行渲染。
2.如權(quán)利要求1所述的網(wǎng)頁渲染加速方法,其特征是,所述瀏覽器根據(jù)網(wǎng)站的層級目錄保存相應的網(wǎng)頁模板。
3.如權(quán)利要求1所述的網(wǎng)頁渲染加速方法,其特征是,瀏覽器向云端發(fā)送的網(wǎng)頁請求信息包括:網(wǎng)頁的網(wǎng)址;還包括,需要模板標志,或者,本地模板的哈希碼; 如果是需要模板標志,則云端返回模板;如果是本地模板的哈希碼,則云端用此哈希碼和云端計算出的哈希碼進行對比,如果二者相同,則僅返回網(wǎng)頁內(nèi)容,如果二者不同,則返回網(wǎng)頁內(nèi)容和模板。
4.一種基于云端模板預先加載的網(wǎng)頁渲染加速方法,其特征是, A.當瀏覽器訪問某個網(wǎng)址,且不存在當前網(wǎng)站層級下的模板時,執(zhí)行如下操作: Al.同時向云端請求該網(wǎng)址網(wǎng)頁的內(nèi)容及模板; A2.云端獲取網(wǎng)頁的html文本,并解析出模板和內(nèi)容; A3.云端將解析出的模板和內(nèi)容發(fā)送到瀏覽器; A4.瀏覽器組裝模板和內(nèi)容進行渲染,并將模板保存; B.當瀏覽器訪問某個網(wǎng)址,且存在當前網(wǎng)站層級目錄下的模板時,執(zhí)行如下操作: B1.向云端請求該網(wǎng)址的內(nèi)容,并發(fā)送本地模板的哈希值; B2.瀏覽器端預先渲染模板; B3.云端獲取網(wǎng)頁的html文本,并解析出模板和內(nèi)容; B4.若云端模板哈希值和瀏覽器端一致,執(zhí)行如下操作: B4.1.云端僅發(fā)送網(wǎng)頁內(nèi)容到瀏覽器; B4.2.瀏覽器將接收到的網(wǎng)頁內(nèi)容和本地的模板整合并渲染; B5.若云端模板哈希值和瀏覽器端不一致,執(zhí)行如下操作: B5.1.云端將模板和內(nèi)容發(fā)送到瀏覽器,并提示瀏覽器更新模板; B5.2.瀏覽器重新組合模板和內(nèi)容,并重新渲染; B5.3.瀏覽器更新模板,保存新的模板。
5.如權(quán)利要求4所述的網(wǎng)頁渲染加速方法,其特征是,所述云端的執(zhí)行流程如下: 1)接受瀏覽器請求; 2)獲取網(wǎng)頁文本; 3)把網(wǎng)頁文本解析出模板和內(nèi)容兩部分; 4)判斷瀏覽器請求中是否包括模板,如果是,則發(fā)送模板和內(nèi)容到瀏覽器;否則,根據(jù)瀏覽器端發(fā)送的模板哈希碼和云端的模板哈希碼進行判斷,如果二者一致,則僅發(fā)送內(nèi)容到瀏覽器,如果二者不一致,則發(fā)送模板和內(nèi)容到瀏覽器,同時要求瀏覽器更新模板。
6.一種基于云端模板預先加載的網(wǎng)頁渲染加速系統(tǒng),包括,位于客戶端的瀏覽器,位于云端的網(wǎng)站服務器裝置,其特征是,還包括位于云端的服務器代理單元;所述瀏覽器,向云端發(fā)送網(wǎng)頁請求;接收從云端返回的網(wǎng)頁內(nèi)容,或者網(wǎng)頁內(nèi)容及模板;對網(wǎng)頁內(nèi)容及模板進行渲染;根據(jù)網(wǎng)站層級目錄儲存網(wǎng)頁模板; 所述服務器代理單元,接收從瀏覽器發(fā)來的網(wǎng)頁請求;從所述網(wǎng)站服務器裝置獲取網(wǎng)頁;將網(wǎng)頁解析成內(nèi)容和模板兩部分;根據(jù)瀏覽器的請求情況,向瀏覽器僅返回內(nèi)容,或者返回內(nèi)容及模板。
7.如權(quán)利要求6所述的網(wǎng)頁渲染加速系統(tǒng),其特征是,所述瀏覽器為個人電腦上的瀏覽器或者智能手機上的瀏覽器。
8.如權(quán)利要求6所述的網(wǎng)頁渲染加速系統(tǒng),其特征是,當瀏覽器已包含相應網(wǎng)頁模板時,在發(fā)送網(wǎng)頁請求的同時渲染本地模板。
【文檔編號】G06F17/30GK103500199SQ201310449318
【公開日】2014年1月8日 申請日期:2013年9月24日 優(yōu)先權(quán)日:2013年9月24日
【發(fā)明者】郭耀, 劉夢馨, 王浩宇, 呂驍博, 陳向群 申請人:北京大學