本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別是涉及一種腳本文件加載、終端以及服務(wù)器。
背景技術(shù):
javascript是一種直譯式的腳本語言,其可在html(hypertextmarkuplanguage,超文本標(biāo)記語言)網(wǎng)頁上使用,用于給html網(wǎng)頁增加動態(tài)功能。網(wǎng)站的javascript文件(js文件)往往部署在一個靜態(tài)服務(wù)器上,并在這些js文件上設(shè)置http緩存頭以提高性能,這樣用戶的網(wǎng)頁瀏覽器需要加載js文件的時候,可以直接從本地緩存拉取該js文件。
但是當(dāng)某些網(wǎng)頁應(yīng)用更新了js文件后,本地緩存并不能對js文件進(jìn)行及時更新,從而導(dǎo)致本地緩存內(nèi)的js文件的更新時間不可控或?qū)е略搄s文件不可用?,F(xiàn)有技術(shù)可通過以下方式來解決上述的js文件的更新問題。如使用md5簽名算法對調(diào)用js文件進(jìn)行簽名,這樣用戶在瀏覽器中調(diào)用該相關(guān)網(wǎng)頁內(nèi)容時,會根據(jù)js文件的md5簽名,對js文件進(jìn)行實(shí)時更新。
上述方案需要對調(diào)用js文件進(jìn)行簽名操作,操作流程較為繁瑣,如需要對js文件進(jìn)行更新操作時,會影響js文件的動態(tài)實(shí)時加載效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種可提高腳本文件實(shí)時加載效率的腳本文件加載方法、終端以及服務(wù)器;以解決現(xiàn)有的腳本文件加載方法、終端以及服務(wù)器中的腳本文件實(shí)時加載效率較低的技術(shù)問題。
本發(fā)明實(shí)施例提供一種腳本文件加載方法,其包括:
接收腳本文件加載指令,并根據(jù)所述腳本文件加載指令獲取待加載腳本文件的文件信息;
從服務(wù)器接收腳本數(shù)據(jù)映射表;其中所述腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;以及
根據(jù)所述腳本數(shù)據(jù)映射表和所述待加載腳本文件的文件信息,確定加載所述待加載腳本文件。
本發(fā)明實(shí)施例還提供一種腳本文件加載方法,其包括:
從客戶端接收腳本數(shù)據(jù)映射表獲取指令;
根據(jù)所述腳本數(shù)據(jù)映射表獲取指令,獲取腳本數(shù)據(jù)映射表,其中所述腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;以及
將所述腳本數(shù)據(jù)映射表發(fā)送至所述客戶端,以便所述客戶端加載腳本文件。
本發(fā)明實(shí)施例還提供一種腳本文件加載終端,其包括:
文件信息獲取模塊,用于接收腳本文件加載指令,并根據(jù)所述腳本文件加載指令獲取待加載腳本文件的文件信息;
腳本數(shù)據(jù)映射表接收模塊,用于從服務(wù)器接收腳本數(shù)據(jù)映射表;其中所述腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;以及
腳本文件加載模塊,用于根據(jù)所述腳本數(shù)據(jù)映射表和所述待加載腳本文件的文件信息,確定加載所述待加載腳本文件。
本發(fā)明實(shí)施例還提供一種腳本文件加載服務(wù)器,其包括:
指令接收模塊,用于從客戶端接收腳本數(shù)據(jù)映射表獲取指令;
腳本數(shù)據(jù)映射表獲取模塊,用于根據(jù)所述腳本數(shù)據(jù)映射表獲取指令,獲取腳本數(shù)據(jù)映射表,其中所述腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;以及
映射表發(fā)送模塊,用于將所述腳本數(shù)據(jù)映射表發(fā)送至所述客戶端,以便所述客戶端加載腳本文件。
相較于現(xiàn)有技術(shù),本發(fā)明的腳本文件加載方法以及終端通過從服務(wù)器接收的腳本數(shù)據(jù)映射表,實(shí)現(xiàn)了對待加載腳本文件的實(shí)時更新操作,從而提高了腳本文件的實(shí)施加載效率。本發(fā)明的腳本文件加載方法及服務(wù)器通過向?qū)?yīng)終端提供腳本數(shù)據(jù)映射表,提高了終端對待加載腳本文件的實(shí)時加載效率;解決了現(xiàn)有的腳本文件加載方法、終端以及服務(wù)器中的腳本文件實(shí)時加載效率較低的技術(shù)問題。
附圖說明
圖1為本發(fā)明的腳本文件加載方法的第一優(yōu)選實(shí)施例的流程圖;
圖2為本發(fā)明的腳本文件加載終端的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
圖3為本發(fā)明的腳本文件加載終端的優(yōu)選實(shí)施例的腳本文件加載模塊的結(jié)構(gòu)示意圖;
圖4為本發(fā)明的腳本文件加載方法的第二優(yōu)選實(shí)施例的流程圖;
圖5為本發(fā)明的腳本文件加載服務(wù)器的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
圖6和圖7為本發(fā)明的腳本文件加載方法、終端以及服務(wù)器的具體實(shí)施例的工作流程圖;
圖8為本發(fā)明的腳本文件加載方法終端以及服務(wù)器所在的電子設(shè)備的工作環(huán)境結(jié)構(gòu)示意圖。
具體實(shí)施方式
請參照圖式,其中相同的組件符號代表相同的組件,本發(fā)明的原理是以實(shí)施在一適當(dāng)?shù)倪\(yùn)算環(huán)境中來舉例說明。以下的說明是基于所例示的本發(fā)明具體實(shí)施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實(shí)施例。
在以下的說明中,本發(fā)明的具體實(shí)施例將參考由一部或多部計(jì)算機(jī)所執(zhí)行之作業(yè)的步驟及符號來說明,除非另有述明。因此,其將可了解到這些步驟及操作,其中有數(shù)次提到為由計(jì)算機(jī)執(zhí)行,包括了由代表了以一結(jié)構(gòu)化型式中的數(shù)據(jù)之電子信號的計(jì)算機(jī)處理單元所操縱。此操縱轉(zhuǎn)換該數(shù)據(jù)或?qū)⑵渚S持在該計(jì)算機(jī)之內(nèi)存系統(tǒng)中的位置處,其可重新配置或另外以本領(lǐng)域技術(shù)人員所熟知的方式來改變該計(jì)算機(jī)之運(yùn)作。該數(shù)據(jù)所維持的數(shù)據(jù)結(jié)構(gòu)為該內(nèi)存之實(shí)體位置,其具有由該數(shù)據(jù)格式所定義的特定特性。但是,本發(fā)明原理以上述文字來說明,其并不代表為一種限制,本領(lǐng)域技術(shù)人員將可了解到以下所述的多種步驟及操作亦可實(shí)施在硬件當(dāng)中。
本發(fā)明的腳本文件加載方法及腳本文件加載終端可用于進(jìn)行網(wǎng)頁展示的電子終端上,該電子終端包括但不限于可穿戴設(shè)備、頭戴設(shè)備、醫(yī)療健康平臺、個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、移動設(shè)備(比如移動電話、個人數(shù)字助理(pda)、媒體播放器等等)、多處理器系統(tǒng)、消費(fèi)型電子設(shè)備等。該電子終端通過從服務(wù)器上接收腳本數(shù)據(jù)映射表,并根據(jù)該腳本數(shù)據(jù)映射表實(shí)時對待加載腳本文件進(jìn)行更新以及加載操作,整個腳本文件的加載過程簡單,有效的提高了電子終端上腳本文件的實(shí)時加載效率。
請參照圖1,圖1為本發(fā)明的腳本文件加載方法的第一優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的腳本文件加載方法可使用上述的電子終端進(jìn)行實(shí)施,該腳本文件加載方法包括:
步驟s101,接收腳本文件加載指令,并根據(jù)腳本文件加載指令獲取待加載腳本文件的文件信息;
步驟s102,從服務(wù)器接收腳本數(shù)據(jù)映射表,其中該腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;
步驟s103,根據(jù)腳本數(shù)據(jù)映射表和待加載腳本文件的文件信息,確定加載待加載腳本文件。
下面詳細(xì)說明本優(yōu)選實(shí)施例的腳本文件加載方法的各步驟的具體流程。
在步驟s101中,腳本文件加載終端接收到腳本文件加載指令,該腳本文件加載指令是指網(wǎng)頁瀏覽器請求加載相應(yīng)的腳本文件(如javascript文件)的指令,以便網(wǎng)絡(luò)瀏覽器可以正常顯示網(wǎng)頁內(nèi)容。
隨后腳本文件加載終端根據(jù)接收到腳本文件加載指令,獲取待加載腳本文件的文件信息,以便腳本文件加載終端根據(jù)該文件信息對待加載腳本文件進(jìn)行更新以及加載操作。隨后轉(zhuǎn)到步驟s102。
在步驟s102中,腳本文件加載終端從服務(wù)器上接收腳本數(shù)據(jù)映射表,該腳本數(shù)據(jù)映射表為用于存儲腳本文件的映射腳本文件的信息。即腳本文件加載終端可通過腳本數(shù)據(jù)映射表判斷該腳本文件是否具有對應(yīng)的映射腳本文件,從而確定該腳本文件的加載方式。
這里的映射腳本文件的信息包括但不限于映射腳本文件的文件名、地址、標(biāo)識符等腳本文件識別信息。該腳本數(shù)據(jù)映射表的具體生成過程請參照腳本文件加載方法的第二優(yōu)選實(shí)施例和第三優(yōu)選實(shí)施例中的相關(guān)描述。隨后轉(zhuǎn)到步驟s103。
在步驟s103中,腳本文件加載終端根據(jù)步驟s102獲取的腳本數(shù)據(jù)映射表以及步驟s101獲取的待加載腳本文件的文件信息,確定是否加載待加載腳本文件。具體流程包括:
腳本文件加載終端使用步驟s101獲取的待加載腳本文件的文件信息,在步驟s102中獲取的腳本數(shù)據(jù)映射表中查找對該待加載腳本文件是否存在映射腳本文件;
如待加載腳本文件存在映射腳本文件,則判斷該待加載腳本文件已經(jīng)進(jìn)行更新,并且更新后的待加載腳本文件的信息即為該待加載腳本文件的映射腳本文件的信息,因此這里腳本文件加載終端根據(jù)映射腳本文件的信息,加載該待加載腳本文件的映射腳本文件。
如待加載腳本文件不存在映射腳本文件,則判斷該待加載腳本文件未進(jìn)行更新,因此這里腳本文件加載終端直接從待加載腳本文件的原地址(如本地緩存地址)直接加載該待加載腳本文件。
這樣即完成了本優(yōu)選實(shí)施例的腳本文件加載方法的腳本文件加載過程。
本優(yōu)選實(shí)施例的腳本文件加載方法通過從服務(wù)器接收的腳本數(shù)據(jù)映射表,實(shí)現(xiàn)了對待加載腳本文件的實(shí)時更新操作,且可通過腳本數(shù)據(jù)映射表直接獲取待加載腳本文件的更新文件,不需要對待加載腳本文件的更新文件進(jìn)行任何額外的查找或識別操作,從而提高了腳本文件的實(shí)時加載效率。
請參照圖2,圖2為本發(fā)明的腳本文件加載終端的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的腳本文件加載終端可使用上述的腳本文件加載方法的第一優(yōu)選實(shí)施例進(jìn)行實(shí)施,本優(yōu)選實(shí)施例的腳本文件加載終端20包括文件信息獲取模塊21、腳本數(shù)據(jù)映射表接收模塊22以及腳本文件加載模塊23。
文件信息獲取模塊21用于接收腳本文件加載指令,并根據(jù)腳本文件加載指令獲取待加載腳本文件的文件信息;腳本數(shù)據(jù)映射表接收模塊22用于從服務(wù)器接收腳本數(shù)據(jù)映射表;其中腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;腳本文件加載模塊23用于根據(jù)腳本數(shù)據(jù)映射表和待加載腳本文件的文件信息,確定加載待加載腳本文件。
請參照圖3,圖3為本發(fā)明的腳本文件加載終端的優(yōu)選實(shí)施例的腳本文件加載模塊的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的腳本文件加載模塊23包括映射腳本文件查找單元31、第一腳本文件加載單元32以及第二腳本文件加載單元33。
映射腳本文件查找單元31用于使用待加載腳本文件的文件信息,在腳本數(shù)據(jù)映射表中查找待加載腳本文件是否存在映射腳本文件;第一腳本文件加載單元32用于如待加載腳本文件存在映射腳本文件,則根據(jù)映射腳本文件的信息,加載待加載腳本文件的映射腳本文件;第二腳本文件加載單元33用于如待加載腳本文件不存在映射腳本文件,則直接加載待加載腳本文件。
本優(yōu)選實(shí)施例的腳本文件加載終端20使用時,首先文件信息獲取模塊21接收到腳本文件加載指令,該腳本文件加載指令是指網(wǎng)頁瀏覽器請求加載相應(yīng)的腳本文件(如javascript文件)的指令,以便網(wǎng)絡(luò)瀏覽器可以正常顯示網(wǎng)頁內(nèi)容。
隨后文件信息獲取模塊21根據(jù)接收到腳本文件加載指令,獲取待加載腳本文件的文件信息,以便腳本文件加載終端根據(jù)該文件信息對待加載腳本文件進(jìn)行更新以及加載操作。
隨后腳本數(shù)據(jù)映射表接收模塊22從服務(wù)器上接收腳本數(shù)據(jù)映射表,該腳本數(shù)據(jù)映射表為用于存儲腳本文件的映射腳本文件的信息。即腳本數(shù)據(jù)映射表接收模塊22可通過腳本數(shù)據(jù)映射表判斷該腳本文件是否具有對應(yīng)的映射腳本文件,從而確定該腳本文件的加載方式。
這里的映射腳本文件的信息包括但不限于映射腳本文件的文件名、地址、標(biāo)識符等腳本文件識別信息。該腳本數(shù)據(jù)映射表的具體生成過程請參照腳本文件加載服務(wù)器的優(yōu)選實(shí)施例中的相關(guān)描述。
最后腳本文件加載模塊23根據(jù)腳本數(shù)據(jù)映射表接收模塊22獲取的腳本數(shù)據(jù)映射表以及文件信息獲取模塊21獲取的待加載腳本文件的文件信息,確定是否加載待加載腳本文件。具體流程包括:
腳本文件加載模塊23的映射腳本文件查找單元31使用文件信息獲取模塊21獲取的待加載腳本文件的文件信息,在腳本數(shù)據(jù)映射表接收模塊22獲取的腳本數(shù)據(jù)映射表中查找對該待加載腳本文件是否存在映射腳本文件;
如待加載腳本文件存在映射腳本文件,則判斷該待加載腳本文件已經(jīng)進(jìn)行更新,并且更新后的待加載腳本文件的信息即為該待加載腳本文件的映射腳本文件的信息,因此這里腳本文件加載模塊23的第一腳本文件加載單元32根據(jù)映射腳本文件的信息,加載該待加載腳本文件的映射腳本文件。
如待加載腳本文件不存在映射腳本文件,則判斷該待加載腳本文件未進(jìn)行更新,因此這里腳本文件加載模塊23的第二腳本文件加載單元33直接從待加載腳本文件的原地址(如本地緩存地址)直接加載該待加載腳本文件。
這樣即完成了本優(yōu)選實(shí)施例的腳本文件加載終端20的腳本文件加載過程。
本優(yōu)選實(shí)施例的腳本文件加載終端通過從服務(wù)器接收的腳本數(shù)據(jù)映射表,實(shí)現(xiàn)了對待加載腳本文件的實(shí)時更新操作,且可通過腳本數(shù)據(jù)映射表直接獲取待加載腳本文件的更新文件,不需要對待加載腳本文件的更新文件進(jìn)行任何額外的查找或識別操作,從而提高了腳本文件的實(shí)時加載效率。
本發(fā)明的腳本文件加載方法及腳本文件加載服務(wù)器可用于向?qū)?yīng)的電子終端提供腳本數(shù)據(jù)映射表,以提高電子終端對待加載腳本文件的實(shí)時加載效率。該腳本文件加載服務(wù)器包括但不限于小型計(jì)算機(jī)服務(wù)器、大型計(jì)算機(jī)服務(wù)器、包括上述服務(wù)器的分布式計(jì)算環(huán)境等。該腳本文件加載服務(wù)器的設(shè)置可有效的提高對應(yīng)的電子終端的腳本文件實(shí)時加載效率。
請參照圖4,圖4為本發(fā)明的腳本文件加載方法的第二優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的腳本文件加載方法可使用上述的腳本文件加載服務(wù)器進(jìn)行實(shí)施,該腳本文件加載方法包括:
步驟s401,從客戶端接收腳本數(shù)據(jù)映射表獲取指令;
步驟s402,根據(jù)腳本數(shù)據(jù)映射表獲取指令,獲取腳本數(shù)據(jù)映射表,其中腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息;
步驟s403,將腳本數(shù)據(jù)映射表發(fā)送至客戶端,以便客戶端加載腳本文件。
下面詳細(xì)說明本優(yōu)選實(shí)施例的腳本文件加載方法的各步驟的具體流程。
在步驟s401中,腳本文件加載服務(wù)器從客戶端接收腳本數(shù)據(jù)映射表獲取指令,該腳本數(shù)據(jù)映射表獲取指令是指客戶端請求從腳本文件加載服務(wù)器上獲取腳本數(shù)據(jù)映射表的指令。隨后轉(zhuǎn)到步驟s402。
在步驟s402中,腳本文件加載服務(wù)器根據(jù)步驟s401獲取的腳本數(shù)據(jù)映射表獲取指令,獲取腳本數(shù)據(jù)映射表。該腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息。
下面詳細(xì)說明腳本數(shù)據(jù)映射表的獲取流程:
當(dāng)某個腳本文件發(fā)生更新操作時,腳本文件加載服務(wù)器即會獲取該腳本文件的更新腳本文件。如某個腳本文件發(fā)布更新腳本文件時,腳本文件加載服務(wù)器會接收到與該更新腳本文件對應(yīng)的腳本文件發(fā)布指令,這樣腳本文件加載服務(wù)器可根據(jù)該腳本文件發(fā)布指令獲取腳本文件的更新腳本文件。
隨后腳本文件加載服務(wù)器會根據(jù)獲取的更新腳本文件以及對應(yīng)的腳本文件,設(shè)置該腳本文件對應(yīng)的腳本數(shù)據(jù)映射表。具體的,腳本文件加載服務(wù)器可獲取更新腳本文件的信息,如更新腳本文件的地址信息或文件名信息等,并直接將更新腳本文件的信息設(shè)置為腳本文件的映射腳本文件的信息,并將上述腳本文件的信息與映射腳本文件的信息的映射關(guān)系保存至腳本數(shù)據(jù)映射表中。
優(yōu)選的,這里為了保證腳本文件對應(yīng)的映射腳本文件的唯一性以及準(zhǔn)確性,這里獲取到更新腳本文件后,會獲取更新腳本文件的標(biāo)識編碼,并使用標(biāo)識編碼對更新腳本文件進(jìn)行命名操作。這樣可有效的保證更新腳本文件的文件名的唯一性以及對應(yīng)的映射腳本文件的文件名的唯一性。如腳本文件的文件名為app.js,該腳本文件的更新腳本文件的標(biāo)識編碼,如md5碼為a25ad9047365e5e0cead85d7590a1d12,則該更新腳本文件的文件名可為app.a25ad9047365e5e0cead85d7590a1d12.js,這樣對應(yīng)的映射腳本文件的文件名也為app.a25ad9047365e5e0cead85d7590a1d12.js。隨后轉(zhuǎn)到步驟s403。
在步驟s403中,腳本文件加載服務(wù)器將步驟s402中獲取的腳本數(shù)據(jù)映射表發(fā)送至客戶端,以便客戶端加載腳本數(shù)據(jù)映射表中對應(yīng)的腳本文件。
這樣即完成了本優(yōu)選實(shí)施例的腳本文件加載方法的腳本文件加載過程。
本發(fā)明的腳本文件加載方法通過向?qū)?yīng)終端提供腳本數(shù)據(jù)映射表,對應(yīng)的終端可通過腳本數(shù)據(jù)映射表直接獲取待加載腳本文件的更新文件,不需要對待加載腳本文件的更新文件進(jìn)行任何額外的查找或識別操作,從而提高了腳本文件的實(shí)時加載效率。
請參照圖5,圖5為本發(fā)明的腳本文件加載服務(wù)器的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的腳本文件加載服務(wù)器可使用上述的腳本文件加載方法的第二優(yōu)選實(shí)施例進(jìn)行實(shí)施,本優(yōu)選實(shí)施例的腳本文件加載服務(wù)器50包括指令接收模塊51、腳本數(shù)據(jù)映射表獲取模塊52、映射表發(fā)送模塊53、更新腳本文件獲取模塊54以及腳本數(shù)據(jù)映射表設(shè)置模塊55。
指令接收模塊51用于從客戶端接收腳本數(shù)據(jù)映射表獲取指令。腳本數(shù)據(jù)映射表獲取模塊52用于根據(jù)腳本數(shù)據(jù)映射表獲取指令,獲取腳本數(shù)據(jù)映射表,其中腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息。映射表發(fā)送模塊53用于將腳本數(shù)據(jù)映射表發(fā)送至所述客戶端,以便客戶端加載腳本文件。更新腳本文件獲取模塊54用于獲取腳本文件的更新腳本文件;具體用于接收腳本文件發(fā)布指令,并根據(jù)腳本文件發(fā)布指令獲取腳本文件的更新腳本文件。腳本數(shù)據(jù)映射表設(shè)置模塊55用于根據(jù)更新腳本文件以及對應(yīng)的腳本文件,設(shè)置腳本文件對應(yīng)的腳本數(shù)據(jù)映射表;具體用于獲取更新腳本文件的信息,并將更新腳本文件的信息設(shè)置為腳本文件的映射腳本文件的信息;以及獲取更新腳本文件的標(biāo)識編碼,并使用標(biāo)識編碼對更新腳本文件進(jìn)行命名操作。
本優(yōu)選實(shí)施例的腳本文件加載服務(wù)器50使用時,首先指令接收模塊1從客戶端接收腳本數(shù)據(jù)映射表獲取指令,該腳本數(shù)據(jù)映射表獲取指令是指客戶端請求從腳本文件加載服務(wù)器上獲取腳本數(shù)據(jù)映射表的指令。
隨后腳本數(shù)據(jù)映射表獲取模塊52根據(jù)指令接收模塊獲取的腳本數(shù)據(jù)映射表獲取指令,獲取腳本數(shù)據(jù)映射表。該腳本數(shù)據(jù)映射表用于存儲所有腳本文件的映射腳本文件的信息。
腳本數(shù)據(jù)映射表的具體獲取流程包括:
當(dāng)某個腳本文件發(fā)生更新操作時,更新腳本文件獲取模塊54即會獲取該腳本文件的更新腳本文件。如某個腳本文件發(fā)布更新腳本文件時,更新腳本文件獲取模塊54會接收到與該更新腳本文件對應(yīng)的腳本文件發(fā)布指令,這樣腳本文件加載服務(wù)器可根據(jù)該腳本文件發(fā)布指令獲取腳本文件的更新腳本文件。
隨后腳本數(shù)據(jù)映射表設(shè)置模塊55會根據(jù)獲取的更新腳本文件以及對應(yīng)的腳本文件,設(shè)置該腳本文件對應(yīng)的腳本數(shù)據(jù)映射表。具體的,腳本數(shù)據(jù)映射表設(shè)置模塊55可獲取更新腳本文件的信息,如更新腳本文件的地址信息或文件名信息等,并直接將更新腳本文件的信息設(shè)置為腳本文件的映射腳本文件的信息,并將上述腳本文件的信息與映射腳本文件的信息的映射關(guān)系保存至腳本數(shù)據(jù)映射表中。
優(yōu)選的,這里為了保證腳本文件對應(yīng)的映射腳本文件的唯一性以及準(zhǔn)確性,這里獲取到更新腳本文件后,腳本數(shù)據(jù)映射表設(shè)置模塊55會獲取更新腳本文件的標(biāo)識編碼,并使用標(biāo)識編碼對更新腳本文件進(jìn)行命名操作。這樣可有效的保證更新腳本文件的文件名的唯一性以及對應(yīng)的映射腳本文件的文件名的唯一性。
最后映射表發(fā)送模塊53將腳本數(shù)據(jù)映射表獲取模塊52獲取的腳本數(shù)據(jù)映射表發(fā)送至客戶端,以便客戶端加載腳本數(shù)據(jù)映射表中對應(yīng)的腳本文件。
這樣即完成了本優(yōu)選實(shí)施例的腳本文件加載服務(wù)器50的腳本文件加載過程。
本發(fā)明的腳本文件加載服務(wù)器通過向?qū)?yīng)終端提供腳本數(shù)據(jù)映射表,對應(yīng)的終端可通過腳本數(shù)據(jù)映射表直接獲取待加載腳本文件的更新文件,不需要對待加載腳本文件的更新文件進(jìn)行任何額外的查找或識別操作,從而提高了腳本文件的實(shí)時加載效率。
下面通過一具體實(shí)施例說明本發(fā)明的腳本文件加載方法、終端以及服務(wù)器的具體工作原理。請參照圖6和圖7,圖6和圖7為本發(fā)明的腳本文件加載方法、終端以及服務(wù)器的具體實(shí)施例的工作流程圖。其中腳本文件加載終端為網(wǎng)頁瀏覽終端,腳本文件加載服務(wù)器為javascript發(fā)布服務(wù)器。
本具體實(shí)施例中javascript發(fā)布服務(wù)器的腳本數(shù)據(jù)映射表的生成過程包括:
步驟s601,javascript發(fā)布服務(wù)器發(fā)布腳本文件a的更新腳本文件a’;
步驟s602,javascript發(fā)布服務(wù)器計(jì)算更新腳本文件a’的標(biāo)識編碼,即更新腳本文件a’的md5碼或sha1碼等。
步驟s603,使用更新腳本文件a’的標(biāo)識編碼,對更新腳本文件a’進(jìn)行命名操作,以保證更新腳本文件a’的命名唯一性。
步驟s604,將更新腳本文件a’發(fā)布到內(nèi)容分發(fā)服務(wù)器或靜態(tài)服務(wù)器上。
步驟s605,將更新腳本文件a’的信息設(shè)置為腳本文件a的映射腳本文件的信息,并生成對應(yīng)的腳本數(shù)據(jù)映射表。
當(dāng)然通過重復(fù)上述步驟該腳本數(shù)據(jù)映射表中可包括多個腳本文件對應(yīng)的更新腳本文件的信息。
本具體實(shí)施例中的網(wǎng)頁瀏覽終端加載腳本文件a的過程包括:
步驟s701,接收腳本文件加載指令,并根據(jù)腳本文件加載指令確定待加載腳本文件;
步驟s702,向javascript發(fā)布服務(wù)器發(fā)送腳本數(shù)據(jù)映射表獲取指令,并從javascript發(fā)布服務(wù)器上接收腳本數(shù)據(jù)映射表;
步驟s703,判斷腳本數(shù)據(jù)映射表中是否存在待加載腳本文件的映射腳本文件;如存在待加載腳本文件的映射腳本文件,則轉(zhuǎn)到步驟s704,;如未存在待加載腳本文件的映射腳本文件,則轉(zhuǎn)到步驟s705。
步驟s704,查找待加載腳本文件的映射腳本文件,如可事先在本地查找,如本地不存在該映射腳本文件,再通過javascript發(fā)布服務(wù)器獲取該映射腳本文件;隨后加載該映射腳本文件。
步驟s705,直接待加載腳本文件。
這樣即完成了本具體實(shí)施例的腳本文件加載方法、終端以及服務(wù)器的腳本文件加載過程。
本發(fā)明的腳本文件加載方法以及終端通過從服務(wù)器接收的腳本數(shù)據(jù)映射表,并通過腳本數(shù)據(jù)映射表中的映射腳本文件的信息,實(shí)現(xiàn)了對待加載腳本文件的實(shí)時更新操作,從而提高了腳本文件的實(shí)施加載效率。本發(fā)明的腳本文件加載方法及服務(wù)器通過向?qū)?yīng)終端提供腳本數(shù)據(jù)映射表,提高了終端對待加載腳本文件的實(shí)時加載效率;解決了現(xiàn)有的腳本文件加載方法、終端以及服務(wù)器中的腳本文件實(shí)時加載效率較低的技術(shù)問題。
如本申請所使用的術(shù)語“組件”、“模塊”、“系統(tǒng)”、“接口”、“進(jìn)程”等等一般地旨在指計(jì)算機(jī)相關(guān)實(shí)體:硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。例如,組件可以是但不限于是運(yùn)行在處理器上的進(jìn)程、處理器、對象、可執(zhí)行應(yīng)用、執(zhí)行的線程、程序和/或計(jì)算機(jī)。通過圖示,運(yùn)行在控制器上的應(yīng)用和該控制器二者都可以是組件。一個或多個組件可以有在于執(zhí)行的進(jìn)程和/或線程內(nèi),并且組件可以位于一個計(jì)算機(jī)上和/或分布在兩個或更多計(jì)算機(jī)之間。
圖8和隨后的討論提供了對實(shí)現(xiàn)本發(fā)明所述的腳本文件加載方法終端以及服務(wù)器所在的電子設(shè)備的工作環(huán)境的簡短、概括的描述。圖8的工作環(huán)境僅僅是適當(dāng)?shù)墓ぷ鳝h(huán)境的一個實(shí)例并且不旨在建議關(guān)于工作環(huán)境的用途或功能的范圍的任何限制。實(shí)例電子設(shè)備812包括但不限于可穿戴設(shè)備、頭戴設(shè)備、醫(yī)療健康平臺、個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、移動設(shè)備(比如移動電話、個人數(shù)字助理(pda)、媒體播放器等等)、多處理器系統(tǒng)、消費(fèi)型電子設(shè)備、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述任意系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,等等。
盡管沒有要求,但是在“計(jì)算機(jī)可讀指令”被一個或多個電子設(shè)備執(zhí)行的通用背景下描述實(shí)施例。計(jì)算機(jī)可讀指令可以經(jīng)由計(jì)算機(jī)可讀介質(zhì)來分布(下文討論)。計(jì)算機(jī)可讀指令可以實(shí)現(xiàn)為程序模塊,比如執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的功能、對象、應(yīng)用編程接口(api)、數(shù)據(jù)結(jié)構(gòu)等等。典型地,該計(jì)算機(jī)可讀指令的功能可以在各種環(huán)境中隨意組合或分布。
圖8圖示了包括本發(fā)明的腳本文件加載方法終端以及服務(wù)器中的一個或多個實(shí)施例的電子設(shè)備812的實(shí)例。在一種配置中,電子設(shè)備812包括至少一個處理單元816和存儲器818。根據(jù)電子設(shè)備的確切配置和類型,存儲器818可以是易失性的(比如ram)、非易失性的(比如rom、閃存等)或二者的某種組合。該配置在圖8中由虛線814圖示。
在其他實(shí)施例中,電子設(shè)備812可以包括附加特征和/或功能。例如,設(shè)備812還可以包括附加的存儲裝置(例如可移除和/或不可移除的),其包括但不限于磁存儲裝置、光存儲裝置等等。這種附加存儲裝置在圖8中由存儲裝置820圖示。在一個實(shí)施例中,用于實(shí)現(xiàn)本文所提供的一個或多個實(shí)施例的計(jì)算機(jī)可讀指令可以在存儲裝置820中。存儲裝置820還可以存儲用于實(shí)現(xiàn)操作系統(tǒng)、應(yīng)用程序等的其他計(jì)算機(jī)可讀指令。計(jì)算機(jī)可讀指令可以載入存儲器818中由例如處理單元816執(zhí)行。
本文所使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”包括計(jì)算機(jī)存儲介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括以用于存儲諸如計(jì)算機(jī)可讀指令或其他數(shù)據(jù)之類的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì)。存儲器818和存儲裝置820是計(jì)算機(jī)存儲介質(zhì)的實(shí)例。計(jì)算機(jī)存儲介質(zhì)包括但不限于ram、rom、eeprom、閃存或其他存儲器技術(shù)、cd-rom、數(shù)字通用盤(dvd)或其他光存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或其他磁存儲設(shè)備、或可以用于存儲期望信息并可以被電子設(shè)備812訪問的任何其他介質(zhì)。任意這樣的計(jì)算機(jī)存儲介質(zhì)可以是電子設(shè)備812的一部分。
電子設(shè)備812還可以包括允許電子設(shè)備812與其他設(shè)備通信的通信連接826。通信連接826可以包括但不限于調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(nic)、集成網(wǎng)絡(luò)接口、射頻發(fā)射器/接收器、紅外端口、usb連接或用于將電子設(shè)備812連接到其他電子設(shè)備的其他接口。通信連接826可以包括有線連接或無線連接。通信連接826可以發(fā)射和/或接收通信媒體。
術(shù)語“計(jì)算機(jī)可讀介質(zhì)”可以包括通信介質(zhì)。通信介質(zhì)典型地包含計(jì)算機(jī)可讀指令或諸如載波或其他傳輸機(jī)構(gòu)之類的“己調(diào)制數(shù)據(jù)信號”中的其他數(shù)據(jù),并且包括任何信息遞送介質(zhì)。術(shù)語“己調(diào)制數(shù)據(jù)信號”可以包括這樣的信號:該信號特性中的一個或多個按照將信息編碼到信號中的方式來設(shè)置或改變。
電子設(shè)備812可以包括輸入設(shè)備824,比如鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備、紅外相機(jī)、視頻輸入設(shè)備和/或任何其他輸入設(shè)備。設(shè)備812中也可以包括輸出設(shè)備822,比如一個或多個顯示器、揚(yáng)聲器、打印機(jī)和/或任意其他輸出設(shè)備。輸入設(shè)備824和輸出設(shè)備822可以經(jīng)由有線連接、無線連接或其任意組合連接到電子設(shè)備812。在一個實(shí)施例中,來自另一個電子設(shè)備的輸入設(shè)備或輸出設(shè)備可以被用作電子設(shè)備812的輸入設(shè)備824或輸出設(shè)備822。
電子設(shè)備812的組件可以通過各種互連(比如總線)連接。這樣的互連可以包括外圍組件互連(pci)(比如快速pci)、通用串行總線(usb)、火線(ieee1394)、光學(xué)總線結(jié)構(gòu)等等。在另一個實(shí)施例中,電子設(shè)備812的組件可以通過網(wǎng)絡(luò)互連。例如,存儲器818可以由位于不同物理位置中的、通過網(wǎng)絡(luò)互連的多個物理存儲器單元構(gòu)成。
本領(lǐng)域技術(shù)人員將認(rèn)識到,用于存儲計(jì)算機(jī)可讀指令的存儲設(shè)備可以跨越網(wǎng)絡(luò)分布。例如,可經(jīng)由網(wǎng)絡(luò)828訪問的電子設(shè)備830可以存儲用于實(shí)現(xiàn)本發(fā)明所提供的一個或多個實(shí)施例的計(jì)算機(jī)可讀指令。電子設(shè)備812可以訪問電子設(shè)備830并且下載計(jì)算機(jī)可讀指令的一部分或所有以供執(zhí)行??商娲兀娮釉O(shè)備812可以按需要下載多條計(jì)算機(jī)可讀指令,或者一些指令可以在電子設(shè)備812處執(zhí)行并且一些指令可以在電子設(shè)備830處執(zhí)行。
本文提供了實(shí)施例的各種操作。在一個實(shí)施例中,所述的一個或多個操作可以構(gòu)成一個或多個計(jì)算機(jī)可讀介質(zhì)上存儲的計(jì)算機(jī)可讀指令,其在被電子設(shè)備執(zhí)行時將使得計(jì)算設(shè)備執(zhí)行所述操作。描述一些或所有操作的順序不應(yīng)當(dāng)被解釋為暗示這些操作必需是順序相關(guān)的。本領(lǐng)域技術(shù)人員將理解具有本說明書的益處的可替代的排序。而且,應(yīng)當(dāng)理解,不是所有操作必需在本文所提供的每個實(shí)施例中存在。
而且,盡管已經(jīng)相對于一個或多個實(shí)現(xiàn)方式示出并描述了本公開,但是本領(lǐng)域技術(shù)人員基于對本說明書和附圖的閱讀和理解將會想到等價變型和修改。本公開包括所有這樣的修改和變型,并且僅由所附權(quán)利要求的范圍限制。特別地關(guān)于由上述組件(例如元件、資源等)執(zhí)行的各種功能,用于描述這樣的組件的術(shù)語旨在對應(yīng)于執(zhí)行所述組件的指定功能(例如其在功能上是等價的)的任意組件(除非另外指示),即使在結(jié)構(gòu)上與執(zhí)行本文所示的本公開的示范性實(shí)現(xiàn)方式中的功能的公開結(jié)構(gòu)不等同。此外,盡管本公開的特定特征已經(jīng)相對于若干實(shí)現(xiàn)方式中的僅一個被公開,但是這種特征可以與如可以對給定或特定應(yīng)用而言是期望和有利的其他實(shí)現(xiàn)方式的一個或多個其他特征組合。而且,就術(shù)語“包括”、“具有”、“含有”或其變形被用在具體實(shí)施方式或權(quán)利要求中而言,這樣的術(shù)語旨在以與術(shù)語“包含”相似的方式包括。
本發(fā)明實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。上述的各裝置或系統(tǒng),可以執(zhí)行相應(yīng)方法實(shí)施例中的方法。
綜上所述,雖然本發(fā)明已以實(shí)施例揭露如上,實(shí)施例前的序號,如“第一”、“第二”等僅為描述方便而使用,對本發(fā)明各實(shí)施例的順序不造成限制。并且,上述實(shí)施例并非用以限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與潤飾,因此本發(fā)明的保護(hù)范圍以權(quán)利要求界定的范圍為準(zhǔn)。