網(wǎng)頁的加載方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種網(wǎng)頁的加載方法及裝置。
【背景技術(shù)】
[0002]目前,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,B/C架構(gòu)(Biwser/Server,瀏覽器/服務(wù)器模式)的網(wǎng)站逐漸成為主流。通常網(wǎng)頁加載時(shí),采用AJAX (Asynchronous JavaScript And XML,異步JavaScript和可擴(kuò)展標(biāo)記語言)等方式連接終端與服務(wù)器。通過調(diào)查發(fā)現(xiàn),現(xiàn)有技術(shù)的網(wǎng)頁加載方式存在如下缺陷:一方面,在既定的條件滿足后(即鼠標(biāo)點(diǎn)擊連接或滾動(dòng)滾動(dòng)條等),通過瀏覽器發(fā)送請求至服務(wù)器,服務(wù)器驗(yàn)證該請求后確認(rèn)內(nèi)容并獲取發(fā)送數(shù)據(jù)至瀏覽器,也就是說,每次提出數(shù)據(jù)請求都需要重新連接和驗(yàn)證,當(dāng)出現(xiàn)較多請求時(shí),服務(wù)器與瀏覽器反復(fù)連接斷開,造成了響應(yīng)時(shí)間過長;另一方面,在對定時(shí)任務(wù)的數(shù)據(jù)的響應(yīng)上,需要瀏覽器在滿足條件時(shí)發(fā)出請求,在加載較多定時(shí)任務(wù)的情況下會對瀏覽器造成較大的壓力。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中加載網(wǎng)頁時(shí)重復(fù)連接驗(yàn)證造成響應(yīng)時(shí)間過長和加載較多定時(shí)任務(wù)時(shí)瀏覽器壓力較大的缺陷,提供一種響應(yīng)時(shí)間更短、力口載較多定時(shí)任務(wù)時(shí)瀏覽器壓力更小的網(wǎng)頁的加載方法及裝置。
[0004]本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題:
[0005]一種網(wǎng)頁的加載方法,其特點(diǎn)在于,其包括有以下步驟:
[0006]S1、創(chuàng)建一包括有網(wǎng)頁的全部加載項(xiàng)的表單,并存儲于服務(wù)器,所述加載項(xiàng)包括有用于定時(shí)任務(wù)的數(shù)據(jù)的加載項(xiàng)和用于非定時(shí)任務(wù)的數(shù)據(jù)的加載項(xiàng);
[0007]S2、瀏覽器建立與服務(wù)器的連接;
[0008]S3、瀏覽器讀取所述表單,并對所述服務(wù)器提出獲取所述全部加載項(xiàng)的請求;
[0009]S4、服務(wù)器根據(jù)所述請求,獲取相應(yīng)的非定時(shí)任務(wù)的數(shù)據(jù)發(fā)送至瀏覽器,并根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏覽器;
[0010]S5、關(guān)閉網(wǎng)頁并結(jié)束流程;
[0011]其中,S2至S5之間瀏覽器始終保持與服務(wù)器的連接。
[0012]此處,定時(shí)任務(wù)是指服務(wù)器在滿足一定的時(shí)間條件下反復(fù)獲取并發(fā)送某一類數(shù)據(jù)的任務(wù),例如點(diǎn)擊量,時(shí)鐘等,而非定時(shí)任務(wù)是指區(qū)別于定時(shí)任務(wù)的只需要一次性獲取即可發(fā)送至瀏覽器端的任務(wù),例如加載某個(gè)url (統(tǒng)一資源定位符,Uniform Resource Locator)或加載某個(gè)圖片等。
[0013]也就是說,本發(fā)明的網(wǎng)頁加載方法是將所有加載項(xiàng)的請求一次性發(fā)送,并且瀏覽器端和服務(wù)器端一直處于連接狀態(tài),這樣就能減少每次請求后再進(jìn)行連接所造成的重復(fù)驗(yàn)證,節(jié)約了加載時(shí)間。另外,定時(shí)任務(wù)的數(shù)據(jù)均由服務(wù)器端監(jiān)控,并定時(shí)獲取或發(fā)送,這樣一來,當(dāng)定時(shí)任務(wù)較多時(shí),由于服務(wù)器的處理速度遠(yuǎn)遠(yuǎn)高于瀏覽器端,使得瀏覽器端的處理壓力減小。
[0014]較佳的,非定時(shí)任務(wù)的數(shù)據(jù)的所述加載項(xiàng)分別與若干優(yōu)先級映射;
[0015]所述S4為:服務(wù)器根據(jù)所述請求中加載項(xiàng)的優(yōu)先級的順序獲取相應(yīng)的非定時(shí)任務(wù)的數(shù)據(jù)后發(fā)送至瀏覽器,根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏
IrWSB
JaL-HPT O
[0016]此處,這樣設(shè)置是為了使得較為重要的加載項(xiàng)優(yōu)先進(jìn)行加載。
[0017]較佳的,所述S3與S4之間包括有:
[0018]S31、服務(wù)器在一緩存中查詢是否存在所述請求中的非定時(shí)任務(wù)的加載項(xiàng)所對應(yīng)的數(shù)據(jù),若是則執(zhí)行S32,否則執(zhí)行S4 ;
[0019]S32、根據(jù)所述請求中的加載項(xiàng)的優(yōu)先級的順序,將緩存中與所述非定時(shí)任務(wù)的加載項(xiàng)對應(yīng)的數(shù)據(jù)發(fā)送至瀏覽器后執(zhí)行S33 ;
[0020]S33、服務(wù)器根據(jù)所述請求和所述請求中的加載項(xiàng)的優(yōu)先級順序,獲取未保存于所述緩存中的非定時(shí)任務(wù)的數(shù)據(jù)發(fā)送至瀏覽器后保存至所述緩存中,并根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏覽器后,執(zhí)行S5 ;
[0021]所述S4為:服務(wù)器根據(jù)所述請求中加載項(xiàng)的優(yōu)先級的順序獲取相應(yīng)的非定時(shí)任務(wù)的數(shù)據(jù)后發(fā)送至瀏覽器并保持至所述緩存中,根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏覽器。
[0022]此處,在服務(wù)器端設(shè)置緩存可以在重復(fù)使用資源時(shí)節(jié)約時(shí)間。
[0023]較佳的,所述S2為:瀏覽器以socket (套接字)的連接方式與服務(wù)器連接。
[0024]此處,socket的連接方式可以使得瀏覽器端和服務(wù)器端一直處于連接狀態(tài),且socket的連接方式還可以支持跨域的數(shù)據(jù)傳輸。
[0025]本發(fā)明還提供一種網(wǎng)頁的加載裝置,其特點(diǎn)在于,其包括有一表單存儲模塊、一連接模塊、一表單讀取模塊、一數(shù)據(jù)獲取發(fā)送模塊;
[0026]所述表單存儲模塊用于創(chuàng)建一包括有網(wǎng)頁的全部加載項(xiàng)的表單,并存儲于服務(wù)器,所述加載項(xiàng)包括有用于定時(shí)任務(wù)的數(shù)據(jù)的加載項(xiàng)和用于非定時(shí)任務(wù)的數(shù)據(jù)的加載項(xiàng);
[0027]所述連接模塊用于使瀏覽器建立與服務(wù)器的連接;
[0028]所述表單讀取模塊用于使瀏覽器讀取所述表單,并對所述服務(wù)器提出獲取所述全部加載項(xiàng)的請求;
[0029]所述數(shù)據(jù)獲取發(fā)送模塊用于使服務(wù)器根據(jù)所述請求,獲取相應(yīng)的非定時(shí)任務(wù)的數(shù)據(jù)發(fā)送至瀏覽器,并根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏覽器。
[0030]較佳的,非定時(shí)任務(wù)的數(shù)據(jù)的所述加載項(xiàng)分別與若干優(yōu)先級映射;
[0031]所述數(shù)據(jù)獲取發(fā)送模塊用于使服務(wù)器根據(jù)所述請求中的加載項(xiàng)的優(yōu)先級的順序獲取相應(yīng)的非定時(shí)任務(wù)的數(shù)據(jù)后發(fā)送至瀏覽器,根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏覽器。
[0032]較佳的,所述數(shù)據(jù)獲取發(fā)送模塊包括有一緩存加載判斷單元、一緩存加載單元和一非緩存加載單元;
[0033]所述緩存加載判斷單元用于使服務(wù)器在一緩存中查詢是否存在所述請求中的非定時(shí)任務(wù)的加載項(xiàng)所對應(yīng)的數(shù)據(jù),若是則調(diào)用所述緩存加載單元,若否則調(diào)用所述非緩存加載單元;
[0034]所述緩存加載單元用于根據(jù)所述請求中的加載項(xiàng)的優(yōu)先級的順序,將緩存中與所述非定時(shí)任務(wù)的加載項(xiàng)對應(yīng)的數(shù)據(jù)發(fā)送至瀏覽器后調(diào)用所述非緩存加載單元;
[0035]所述非緩存加載單元用于使服務(wù)器根據(jù)所述請求和所述請求中的加載項(xiàng)的優(yōu)先級順序,獲取未保存于所述緩存中的非定時(shí)任務(wù)的數(shù)據(jù)發(fā)送至瀏覽器后保存至所述緩存中,并根據(jù)每一定時(shí)任務(wù)所設(shè)定的觸發(fā)條件發(fā)送定時(shí)任務(wù)的數(shù)據(jù)至瀏覽器。
[0036]較佳的,所述連接模塊用于使瀏覽器通過socket的方式建立與服務(wù)器的連接
[0037]本發(fā)明的積極進(jìn)步效果在于:通過瀏覽器對服務(wù)器提出獲取全部加載項(xiàng)的請求,并保持瀏覽器與服務(wù)器的連接,使得服務(wù)器端不需要反復(fù)對請求進(jìn)行驗(yàn)證,整體上節(jié)省了加載時(shí)間,另外在加載較多定時(shí)任務(wù)時(shí),由服務(wù)器進(jìn)行處理,降低了瀏覽器端的負(fù)擔(dān)。
【附圖說明】
[0038]圖1為本發(fā)明較佳實(shí)施例的網(wǎng)頁加載方法的流程圖。
[0039]圖2為本發(fā)明較佳實(shí)施例的網(wǎng)頁加載裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]下面通過實(shí)施例的方式進(jìn)一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
[0041]圖1為本實(shí)施例的網(wǎng)頁加載方法的流程圖,如圖1所示,本實(shí)施例涉及的網(wǎng)頁加載方法包括有以下步驟:
[0042]步驟1、創(chuàng)建一包括有網(wǎng)頁的全部加載項(xiàng)的表單,并存儲于服務(wù)器,加載項(xiàng)包括有用于定時(shí)任務(wù)的數(shù)據(jù)的加載項(xiàng)和用于非定時(shí)任務(wù)的數(shù)據(jù)的加載項(xiàng)。
[0043]步驟2、瀏覽器通過讀取位于服務(wù)器的一 javascript(—種直譯式腳本語言)文件,以socket的方式建立與服務(wù)器的連接。
[0044]步驟3、瀏覽器讀取表單,并對服務(wù)器提出獲取全部加載項(xiàng)的請求。
[0045]步驟31、服務(wù)器在一緩存中(本實(shí)施例中采用