本發(fā)明涉及互聯(lián)網(wǎng)前端資源(例如前端開發(fā)中使用到的圖片、字體、模板、腳本、樣式等)的負(fù)載領(lǐng)域,具體涉及一種對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的方法及系統(tǒng)。
背景技術(shù):
目前網(wǎng)絡(luò)瀏覽器在運(yùn)行前端資源的過程中,已通過多域名實(shí)現(xiàn)前端資源的加速。在此基礎(chǔ)上,前端資源在單頁網(wǎng)頁的應(yīng)用模式下,需要大量的局部刷新才能滿足用戶的交互要求和體驗(yàn)。
但是,由于現(xiàn)有的網(wǎng)站一般未對前端資源的訪問域名進(jìn)行劃分,因此所有前端資源會使用同一個訪問域名,進(jìn)而會導(dǎo)致前端資源加載比較緩慢。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明解決的技術(shù)問題為:為網(wǎng)頁不同資源類型的前端資源分配相應(yīng)的專屬訪問域名。本發(fā)明不僅將前端資源的加載路徑規(guī)范化,而且提高了單頁網(wǎng)頁的前端資源的加載效率,增強(qiáng)了用戶體驗(yàn),還能夠與網(wǎng)頁的網(wǎng)站功能進(jìn)行無縫對接,適用范圍比較廣泛。
為達(dá)到以上目的,本發(fā)明提供的對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的方法,包括以下步驟:
S1:將網(wǎng)頁的所有前端資源按照資源類型劃分為若干域名分配組:屬于網(wǎng)頁核心部分的資源類型對應(yīng)的前端資源為1組,其余每種資源類型對應(yīng)的前端資源各為1組;
S2:為每組域名分配組對應(yīng)分配1個專屬的訪問域名,將隸屬于同一域名分配組的所有前端資源,均映射至對應(yīng)的專屬訪問域名。
在上述技術(shù)方案的基礎(chǔ)上,S2的具體流程為:確定所有域名分配組對應(yīng)的缺省資源路徑,為每條缺省資源路徑各分配1個專屬的訪問域名;將隸屬于同一域名分配組的所有前端資源,均映射至域名分配組對應(yīng)的缺省資源路徑的專屬訪問域名。
在上述技術(shù)方案的基礎(chǔ)上,S2之后還包括以下步驟:S3:在網(wǎng)頁的加載過程中,將屬于網(wǎng)頁核心部分的域名分配組的前端資源,按照資源類型加載至網(wǎng)頁頭部,其余域名分配組對應(yīng)的前端資源,按照資源類型依次加載。
在上述技術(shù)方案的基礎(chǔ)上,S1中所述資源類型包括腳本、樣式、圖片、字體和Flash。
在上述技術(shù)方案的基礎(chǔ)上,所述腳本和樣式共同為1組域名分配組,所述圖片、字體和Flash各為1組域名分配組。
在上述技術(shù)方案的基礎(chǔ)上,S2中所述訪問域名位于服務(wù)器的域名列表中。
本發(fā)明提供實(shí)現(xiàn)上述方法的對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的系統(tǒng),包括域名分配組劃分模塊和訪問域名分配模塊;
域名分配組劃分模塊用于:將網(wǎng)頁的所有前端資源按照資源類型劃分為若干域名分配組:屬于網(wǎng)頁核心部分的資源類型對應(yīng)的前端資源為1組,其余每種資源類型對應(yīng)的前端資源各為1組;
訪問域名分配模塊用于:為每組域名分配組對應(yīng)分配1個專屬的訪問域名,將隸屬于同一域名分配組的所有前端資源,均映射至對應(yīng)的專屬訪問域名。
在上述技術(shù)方案的基礎(chǔ)上,訪問域名分配模塊的具體工作流程為:為每個有域名分配組對應(yīng)的缺省資源路徑,各分配1個專屬的訪問域名;將隸屬于同一域名分配組的所有前端資源,均映射至域名分配組對應(yīng)的缺省資源路徑的專屬訪問域名。
在上述技術(shù)方案的基礎(chǔ)上,該系統(tǒng)還包括前端資源加載模塊,其用于:在網(wǎng)頁的加載過程中,將屬于網(wǎng)頁核心部分的域名分配組的前端資源,按照資源類型加載至網(wǎng)頁頭部,其余域名分配組對應(yīng)的前端資源,按照資源類型依次加載。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
(1)本發(fā)明將網(wǎng)頁的所有前端資源按照資源類型劃分為若干域名分配組、并為每組域名分配組對應(yīng)分配1個專屬的訪問域名。因此,與現(xiàn)有技術(shù)中使用同一個域名的前端資源相比,本發(fā)明能夠根據(jù)前端資源類型的不同分配相應(yīng)的訪問域名,以此實(shí)現(xiàn)前端資源的負(fù)載均衡;不僅將前端資源的加載路徑規(guī)范化,而且提高了單頁網(wǎng)頁的前端資源的加載效率,增強(qiáng)了用戶體驗(yàn)。
(2)本發(fā)明可獨(dú)立于網(wǎng)頁的自身工作流程,即不會影響網(wǎng)頁資深的功能處理邏輯;因此,本發(fā)明能夠與網(wǎng)頁的網(wǎng)站功能進(jìn)行無縫對接,適用范圍比較廣泛。
附圖說明
圖1為本發(fā)明實(shí)施例中對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的方法的流程圖;
圖2為本發(fā)明實(shí)施例中按照資源類型分配訪問域名的示意圖;
圖3本發(fā)明實(shí)施例中S2的具體流程示意圖;
圖4為本發(fā)明實(shí)施例中加載有前端資源的網(wǎng)頁的示意圖。
具體實(shí)施方式
以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
本發(fā)明實(shí)施例中的對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的方法,在具備2個以上的前端資源域名的網(wǎng)頁上運(yùn)行(若前端資源域名只有1個則無法運(yùn)行),運(yùn)行時網(wǎng)頁首先經(jīng)過網(wǎng)站服務(wù)器的處理完成首屏渲染,通過前端與網(wǎng)站服務(wù)器的約定,所有的前端資源按照“負(fù)載均衡”的模式(在當(dāng)頁面網(wǎng)頁應(yīng)用中根據(jù)前端資源類型動態(tài)分配前端資源的訪問域名)進(jìn)行生成,同樣在異步渲染中也會使用這個模式。
在此基礎(chǔ)上,參見圖1所示,本實(shí)施例中的對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的方法,具體包括以下步驟:
S1:將網(wǎng)頁的所有前端資源按照資源類型劃分為若干域名分配組:屬于網(wǎng)頁核心部分的資源類型對應(yīng)的前端資源為1組,其余每種資源類型對應(yīng)的前端資源各為1組。
參見圖2所示,S1中的資源類型和對應(yīng)的前端資源包括:
資源類型1.腳本:*.js;
資源類型2.樣式:*.css;
資源類型3.圖片:*.jpg、*.png、*.gif;
資源類型4.字體:*.ttf、*.otf、*.ttc;
資源類型5.Flash(Web動畫):*.swf。
上述資源類型中的腳本和樣式均屬于網(wǎng)頁的核心部分,對應(yīng)的前端資源相對較小,因此腳本和樣式共同為1組域名分配組(即可以共用域名進(jìn)行管理和訪問);圖片、字體和Flash都是網(wǎng)頁的輔助部分,各自對應(yīng)的前端資源或大或小、需要被服務(wù)器長期管理,所以各為1組域名分配組(即需要單獨(dú)域名進(jìn)行管理和訪問)。
S2:為每組域名分配組對應(yīng)分配1個專屬的訪問域名(訪問域名位于服務(wù)器的域名列表中),將隸屬于同一域名分配組的所有前端資源,均映射至對應(yīng)的專屬訪問域名。
參見圖2和圖3所示,S2的具體流程為:
S201:確定域名分配組對應(yīng)的缺省資源路徑,例如:
/dir/a.png;
S202:為缺省資源路徑分配1個專屬的訪問域名,例如:
http://img3.douyu.com/dir/a.png;
S203:將隸屬于同一域名分配組的所有前端資源,均映射至與該域名分配組對應(yīng)的缺省資源路徑的專屬訪問域名,本實(shí)施例中所有域名分配組對應(yīng)的訪問域名和前端資源為:
var resConfig={
//腳本、樣式訪問域名A
‘http://img1.douyu.com/’:[‘*.js’,‘*.css’],
//圖片訪問域名B
‘http://img2.douyu.com/’:[‘*.png’,‘*.jpg’,‘*.gif’],
//字體訪問域名C
‘http://img3.douyu.com/’:[‘*.ttf’,‘*.otf’,‘*.ttc’],
//Flash訪問域名D
‘http://img4.douyu.com/’:[‘*.swf’],
}。
S3:參見圖4所示,在網(wǎng)頁的加載過程中,將屬于網(wǎng)頁核心部分的域名分配組的前端資源,按照資源類型(腳本和樣式)加載至網(wǎng)頁頭部,以保證網(wǎng)頁界面能夠快速展示給用戶;其余域名分配組對應(yīng)的前端資源,按照資源類型依次加載(網(wǎng)頁的內(nèi)容部分和尾部均為圖片、字體和Flash),以此達(dá)到最佳體驗(yàn)。
本發(fā)明實(shí)施例中實(shí)現(xiàn)上述方法的對網(wǎng)頁前端資源進(jìn)行負(fù)載均衡的系統(tǒng),包括域名分配組劃分模塊、訪問域名分配模塊和前端資源加載模塊。
域名分配組劃分模塊用于:將網(wǎng)頁的所有前端資源按照資源類型劃分為若干域名分配組:屬于網(wǎng)頁核心部分的資源類型對應(yīng)的前端資源為1組,其余每種資源類型對應(yīng)的前端資源各為1組。
訪問域名分配模塊用于:為每組域名分配組對應(yīng)分配1個專屬的訪問域名,將隸屬于同一域名分配組的所有前端資源,均映射至對應(yīng)的專屬訪問域名;具體工作流程為:為每個有域名分配組對應(yīng)的缺省資源路徑,各分配1個專屬的訪問域名;將隸屬于同一域名分配組的所有前端資源,均映射至域名分配組對應(yīng)的缺省資源路徑的專屬訪問域名。
前端資源加載模塊用于:在網(wǎng)頁的加載過程中,將屬于網(wǎng)頁核心部分的域名分配組的前端資源,按照資源類型加載至網(wǎng)頁頭部,其余域名分配組對應(yīng)的前端資源,按照資源類型依次加載。
本發(fā)明不局限于上述實(shí)施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。