本發(fā)明涉及移動(dòng)通信技術(shù)領(lǐng)域,具體地說(shuō),涉及一種瀏覽器外殼功能的更新方法及裝置。
背景技術(shù):眾所周知,目前,各瀏覽器廠商開發(fā)外殼功能時(shí)采用程序開發(fā)的方式,使用各種平臺(tái)相關(guān)的語(yǔ)言進(jìn)行開發(fā),如C、C++、Java等,這些語(yǔ)言相對(duì)成熟,并且運(yùn)行效率快。采用這種方式,在外殼功能開發(fā)完成后,需要將源碼文件編譯后打包安裝;如果要更新瀏覽器外殼功能,則需要更新用上述開發(fā)語(yǔ)言所開發(fā)的程序并重新編譯,瀏覽器再下載程序安裝包并覆蓋安裝。因而這種方法存在以下缺點(diǎn):一個(gè)方面是現(xiàn)有的瀏覽器外殼功能的更新方式較復(fù)雜。用C、C++、Java等開發(fā)語(yǔ)言開發(fā)瀏覽器外殼功能時(shí),具有修改文件系統(tǒng)、修改配置文件的權(quán)限,具有一定的危險(xiǎn)性;開發(fā)難度大,單單是寫數(shù)據(jù)操作就需要引用很多的包或頭文件以及做各種出錯(cuò)檢驗(yàn);編譯耗時(shí),調(diào)試復(fù)雜;需要考慮平臺(tái)相關(guān)性;可能出現(xiàn)內(nèi)存泄露和程序崩潰的現(xiàn)象。另一個(gè)方面是現(xiàn)有的瀏覽器外殼功能的更新方式所耗費(fèi)的網(wǎng)絡(luò)流量大。通常,采用上述方式更新的瀏覽器需要下載一整個(gè)程序安裝包并覆蓋安裝,顯然需要消耗較大的網(wǎng)絡(luò)流量和時(shí)間?,F(xiàn)有技術(shù)也出現(xiàn)過(guò)局部更新方法,不需要下載整個(gè)程序包,但這些更新一般指so或dll文件(Linux或Windows系統(tǒng)下的動(dòng)態(tài)鏈接庫(kù)文件)的更新,而so或dll文件是由大量的源代碼編譯出來(lái)的,其構(gòu)成的外殼一般只會(huì)有一個(gè),一旦更新,只能將文件完全替換掉。例如一個(gè)so文件里的某幾行指令是做書簽功能的,但其他大量的指令是做其他功能的,即使只想更新書簽,也得完整替換該so文件,而如果分功能編成多個(gè)so文件,則不僅會(huì)暴露出更多的程序內(nèi)部符號(hào)而降低了安全性,而且影響程序運(yùn)行速度,提高內(nèi)存占用,降低了啟動(dòng)速度,還影響代碼結(jié)構(gòu),加大程序開發(fā)難度。因此,現(xiàn)有的瀏覽器外殼功能的更新方法有待改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:鑒于上述問(wèn)題,本發(fā)明的目的在于提供一種瀏覽器外殼功能的更新方法及裝置,解決了瀏覽器外殼功能更新復(fù)雜、耗費(fèi)網(wǎng)絡(luò)流量大的問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供一種瀏覽器外殼功能的更新方法,所述方法包括:移動(dòng)終端的瀏覽器將當(dāng)前外殼文件信息發(fā)送給服務(wù)器查詢更新,其中所述外殼文件中,瀏覽器外殼的每個(gè)獨(dú)立功能對(duì)應(yīng)至少一個(gè)腳本文件和至少一個(gè)頁(yè)面描述文件,或者對(duì)應(yīng)至少一個(gè)頁(yè)面描述文件;在所述服務(wù)器根據(jù)存儲(chǔ)的外殼文件信息與從瀏覽器接收的外殼文件信息對(duì)比發(fā)現(xiàn)有更新時(shí),所述瀏覽器從服務(wù)器接收外殼文件中發(fā)生更新的腳本文件或頁(yè)面描述文件的下載路徑數(shù)據(jù);依照所述下載路徑數(shù)據(jù)下載發(fā)生更新的腳本文件或頁(yè)面描述文件并替換掉當(dāng)前外殼文件中對(duì)應(yīng)的腳本文件或頁(yè)面描述文件。優(yōu)選地,移動(dòng)終端的瀏覽器通過(guò)讀取配置文件獲得所述當(dāng)前外殼文件信息,其中,所述配置文件中記錄有外殼功能與外殼文件的對(duì)應(yīng)關(guān)系、與不同獨(dú)立功能對(duì)應(yīng)的各個(gè)腳本文件或頁(yè)面描述文件的路徑列表以及各文件當(dāng)前版本的信息。優(yōu)選地,所述瀏覽器啟動(dòng)、刷新或執(zhí)行所述外殼功能時(shí),通過(guò)所述配置文件定位到需執(zhí)行的所述腳本文件或所述頁(yè)面描述文件并執(zhí)行。優(yōu)選地,所述瀏覽器發(fā)送的當(dāng)前外殼文件信息中包含腳本文件或頁(yè)面描述文件的ID和版本號(hào),所述服務(wù)器根據(jù)接收的腳本文件或頁(yè)面描述文件的ID查詢所述ID對(duì)應(yīng)的在服務(wù)器存儲(chǔ)的腳本文件或頁(yè)面描述文件,在查到后對(duì)比版本號(hào),若發(fā)現(xiàn)服務(wù)器存儲(chǔ)的腳本文件或頁(yè)面描述文件的版本號(hào)高于當(dāng)前外殼文件信息中的版本號(hào),判斷為發(fā)生更新,并確定發(fā)生更新的腳本文件或頁(yè)面描述文件的下載路徑數(shù)據(jù)。優(yōu)選地,依照所述下載路徑數(shù)據(jù)逐個(gè)下載發(fā)生更新的腳本文件或頁(yè)面描述文件并臨時(shí)存儲(chǔ),在所有發(fā)生更新的腳本文件或頁(yè)面描述文件下載完成后,一次性替換掉當(dāng)前外殼文件中對(duì)應(yīng)的腳本文件或頁(yè)面描述文件。優(yōu)選地,所述腳本文件為JavaScript文件,所述頁(yè)面描述文件為HTML文件。另一方面,本發(fā)明還同時(shí)提供一種瀏覽器外殼功能的更新裝置,所述裝置包括:查詢模塊,用于將瀏覽器的當(dāng)前外殼文件信息發(fā)送給服務(wù)器查詢更新,其中所述外殼文件中,瀏覽器外殼的每個(gè)獨(dú)立功能對(duì)應(yīng)至少一個(gè)腳本文件和至少一個(gè)頁(yè)面描述文件,或者對(duì)應(yīng)至少一個(gè)頁(yè)面描述文件;接收模塊,用于在所述服務(wù)器根據(jù)存儲(chǔ)的外殼文件信息與從瀏覽器接收的外殼文件信息對(duì)比發(fā)現(xiàn)有更新時(shí),從服務(wù)器接收外殼文件中發(fā)生更新的腳本文件或頁(yè)面描述文件的下載路徑數(shù)據(jù);更新模塊,用于依照所述下載路徑數(shù)據(jù)下載發(fā)生更新的腳本文件或頁(yè)面描述文件并替換掉當(dāng)前外殼文件中對(duì)應(yīng)的腳本文件或頁(yè)面描述文件。優(yōu)選地,所述裝置還包括:配置模塊,用于存儲(chǔ)配置文件,所述配置文件中記錄有外殼功能與外殼文件的對(duì)應(yīng)關(guān)系、與不同獨(dú)立功能對(duì)應(yīng)的各個(gè)腳本文件或頁(yè)面描述文件的路徑列表以及各文件當(dāng)前版本的信息;其中,所述查詢模塊是通過(guò)讀取所述配置模塊的配置文件獲得所述當(dāng)前外殼文件信息。優(yōu)選地,所述裝置還包括:執(zhí)行模塊,用于在所述瀏覽器啟動(dòng)、刷新或執(zhí)行所述外殼功能時(shí),通過(guò)所述配置模塊中的所述配置文件定位到需執(zhí)行的所述腳本文件或所述頁(yè)面描述文件并執(zhí)行。優(yōu)選地,所述裝置還包括:臨時(shí)存儲(chǔ)模塊,用于臨時(shí)存儲(chǔ)依照所述下載路徑數(shù)據(jù)逐個(gè)下載的發(fā)生更新的腳本文件或頁(yè)面描述文件;所述更新模塊在所有發(fā)生更新的腳本文件或頁(yè)面描述文件下載完成后,再一次性用所述臨時(shí)存儲(chǔ)模塊存儲(chǔ)的文件替換掉當(dāng)前外殼文件中對(duì)應(yīng)的腳本文件或頁(yè)面描述文件。與現(xiàn)有技術(shù)相比,本發(fā)明提供的方法及裝置根據(jù)瀏覽器的外殼功能將外殼文件細(xì)分為多個(gè)腳本文件和頁(yè)面描述文件,從而在更新時(shí)可以根據(jù)功能僅更新部分外殼文件。本發(fā)明的技術(shù)方案解決了瀏覽器外殼功能更新復(fù)雜、耗費(fèi)網(wǎng)絡(luò)流量大的問(wèn)題,降低了外殼功能更新的開發(fā)難度,提高了開發(fā)效率;在更新時(shí)可以實(shí)現(xiàn)增量更新,節(jié)省了網(wǎng)絡(luò)流量,加快了程序更新和應(yīng)用的效率。附圖說(shuō)明圖1是本發(fā)明的瀏覽器外殼功能的更新方法的流程示意圖。圖2是本發(fā)明的瀏覽器外殼功能的更新裝置的模塊結(jié)構(gòu)示意圖。圖3是本發(fā)明的瀏覽器與服務(wù)器的交互過(guò)程示意圖。圖4是本發(fā)明的瀏覽器運(yùn)行及外殼功能更新的詳細(xì)流程圖。圖5是本發(fā)明的一個(gè)實(shí)施例中瀏覽器的書簽頁(yè)面的示意圖。圖6是本發(fā)明的一個(gè)實(shí)施例中瀏覽器的幫助頁(yè)面的示意圖具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明提供一種瀏覽器外殼功能的更新方法及裝置,解決了瀏覽器外殼功能更新復(fù)雜、耗費(fèi)網(wǎng)絡(luò)流量大的問(wèn)題。其中,瀏覽器外殼指的是瀏覽器與網(wǎng)頁(yè)加載排版渲染無(wú)關(guān)的界面相關(guān)部分;瀏覽器內(nèi)核指的是進(jìn)行網(wǎng)頁(yè)的加載排版渲染及腳本程序執(zhí)行的部分。圖1是本發(fā)明的瀏覽器外殼功能的更新方法的示意圖。如圖1所示,本發(fā)明的方法包括步驟:S1,移動(dòng)終端的瀏覽器將當(dāng)前外殼文件信息發(fā)送給服務(wù)器查詢更新,其中所述外殼文件中,瀏覽器外殼的每個(gè)獨(dú)立功能對(duì)應(yīng)至少一個(gè)腳本文件和至少一個(gè)頁(yè)面描述文件,或者對(duì)應(yīng)至少一個(gè)頁(yè)面描述文件;S2,在所述服務(wù)器根據(jù)存儲(chǔ)的外殼文件信息與從瀏覽器接收的外殼文件信息對(duì)比發(fā)現(xiàn)有更新時(shí),所述瀏覽器從服務(wù)器接收外殼文件中發(fā)生更新的腳本文件或頁(yè)面描述文件的下載路徑數(shù)據(jù);S3,依照所述下載路徑數(shù)據(jù)下載發(fā)生更新的腳本文件或頁(yè)面描述文件并替換掉當(dāng)前外殼文件中對(duì)應(yīng)的腳本文件或頁(yè)面描述文件。其中,在本發(fā)明中,用多個(gè)腳本文件和頁(yè)面描述文件,或者多個(gè)頁(yè)面描述文件構(gòu)成上述外殼文件實(shí)現(xiàn)外殼功能,按各個(gè)獨(dú)立的外殼功能分別形成至少一個(gè)腳本文件和至少一個(gè)頁(yè)面描述文件,或者形成至少一個(gè)頁(yè)面描述文件,這里每個(gè)腳本文件或頁(yè)面描述文件均可獨(dú)立更新。優(yōu)選的腳本文件為JavaScript(通常簡(jiǎn)稱為JS)文件,頁(yè)面描述文件為HTML文件,即瀏覽器外殼的功能均用JavaScript和HTML實(shí)現(xiàn),使用瀏覽器內(nèi)置的JavaScript引擎執(zhí)行這些JavaScript和HTML文件中的代碼,使用瀏覽器內(nèi)置的解析排版渲染引擎在屏幕上顯示瀏覽器外殼界面。例如,外殼文件由一百個(gè)JavaScript文件和HTML文件實(shí)現(xiàn),其中的一個(gè)HTML文件是負(fù)責(zé)書簽功能,那么只需更新這個(gè)HTML文件,就能更新書簽功能了,其他99個(gè)文件都不需要更新和改變。更優(yōu)選地,為更加完美地支持現(xiàn)有的移動(dòng)設(shè)備,上述JavaScript文件和HTML文件為符合HTML5標(biāo)準(zhǔn)的文件。本領(lǐng)域相關(guān)技術(shù)人員應(yīng)能理解,JavaScript文件和HTML文件僅為本發(fā)明中優(yōu)選的一個(gè)示例,所有獲得瀏覽器內(nèi)核支持而可直接執(zhí)行的腳本文件和頁(yè)面描述文件顯然也可應(yīng)用于本發(fā)明中(包括但不限于如PHP、ASP、Perl、VBScript等),在此不再一一例舉。圖2是本發(fā)明的瀏覽器外殼功能的更新裝置的模塊結(jié)構(gòu)示意圖。如圖2所示,本發(fā)明的裝置包括查詢模塊201,用于將瀏覽器的當(dāng)前外殼文件信息發(fā)送給服務(wù)器10查詢更新,其中所述外殼文件中,瀏覽器外殼的每個(gè)獨(dú)立功能對(duì)應(yīng)至少一個(gè)腳本文件和至少一個(gè)頁(yè)面描述文件,或者對(duì)應(yīng)至少一個(gè)頁(yè)面描述文件;接收模塊202,用于在所述服務(wù)器10根據(jù)存儲(chǔ)的外殼文件信息與從瀏覽器接收的外殼文件信息對(duì)比發(fā)現(xiàn)有更新時(shí),從服務(wù)器10接收外殼文件中發(fā)生更新的腳本文件或頁(yè)面描述文件的下載路徑數(shù)據(jù);更新模塊203,用于依照所述下載路徑數(shù)據(jù)下載發(fā)生更新的腳本文件或頁(yè)面描述文件并替換掉當(dāng)前外殼文件中對(duì)應(yīng)的腳本文件或頁(yè)面描述文件。更進(jìn)一步地,所述裝置還可包括:配置模塊(圖中未示出),用于存儲(chǔ)配置文件,所述配置文件中記錄有外殼功能與外殼文件的對(duì)應(yīng)關(guān)系、與不同獨(dú)立功能對(duì)應(yīng)的各個(gè)腳本文件或頁(yè)面描述文件的路徑列表以及各文件當(dāng)前版本的信息;其中,所述查詢模塊是通過(guò)讀取所述配置模塊的配置文件獲得所述當(dāng)前外殼文件信息。以及瀏覽器工作過(guò)程中,所述裝置還可包括:執(zhí)行模塊(圖中未示出),用于在所述瀏覽器啟動(dòng)、刷新或執(zhí)行所述外殼功能時(shí),通過(guò)所述配置模塊中的所述配置文件定位到需執(zhí)行的所述腳本文件或所述頁(yè)...