欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于瀏覽器獲取目標(biāo)前端資源文件的方法、裝置和系統(tǒng)與流程

文檔序號:11432240閱讀:233來源:國知局
基于瀏覽器獲取目標(biāo)前端資源文件的方法、裝置和系統(tǒng)與流程

本發(fā)明涉及網(wǎng)絡(luò)計算機技術(shù)領(lǐng)域,具體涉及一種基于瀏覽器獲取目標(biāo)前端資源文件的方法、裝置和系統(tǒng)。



背景技術(shù):

為了可以在瀏覽器快速打開預(yù)設(shè)網(wǎng)頁,會在瀏覽器預(yù)存儲預(yù)設(shè)網(wǎng)頁對應(yīng)的前端資源文件。預(yù)設(shè)網(wǎng)頁不斷更新,相應(yīng)地前端資源文件也不斷更新,為了保證可以打開預(yù)設(shè)網(wǎng)頁,如何獲取當(dāng)前可以使用的有效的目標(biāo)前端資源文件是一個比較重要的問題。

目前常用的一種基于瀏覽器獲取目標(biāo)前端資源文件的方法如下:瀏覽器獲取目標(biāo)前端資源文件的發(fā)布版本號(即新發(fā)布的前端資源文件的版本號)和原始前端資源文件的本地版本號(即存儲在瀏覽器的原始前端資源文件的版本號);當(dāng)發(fā)布版本號和本地版本號一致時,瀏覽器獲取瀏覽器存儲的原始前端資源文件作為目標(biāo)前端資源文件;當(dāng)發(fā)布版本號和本地版本號不一致時,瀏覽器根據(jù)發(fā)布版本號和本地版本號拼接得到目標(biāo)前端資源文件的增量文件url(uniformresourcelocator,統(tǒng)一資源定位符,也被稱為網(wǎng)頁地址),瀏覽器根據(jù)增量文件url從服務(wù)器中獲取目標(biāo)前端資源文件的增量文件,瀏覽器將增量文件與原始前端資源文件合并得到新前端資源文件,將原有的原始前端資源文件刪除,將新前端資源文件作為原始前端資源文件存儲在瀏覽器。

現(xiàn)有基于瀏覽器獲取目標(biāo)前端資源文件的方法,將原有的原始前端資源文件刪除,當(dāng)瀏覽器無法通過現(xiàn)有的原始前端資源文件顯示預(yù)設(shè)網(wǎng)頁時,需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,實現(xiàn)過程繁瑣,浪費時間。



技術(shù)實現(xiàn)要素:

為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種基于瀏覽器獲取目標(biāo)前端資源文件的方法、裝置和系統(tǒng),瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,當(dāng)瀏覽器無法通過現(xiàn)有的原始前端資源文件顯示預(yù)設(shè)網(wǎng)頁時,通過從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件的版本號對應(yīng)的目標(biāo)差分文件,將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件,通過目標(biāo)前端資源文件顯示預(yù)設(shè)網(wǎng)頁,不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,實現(xiàn)過程簡單快捷,可以節(jié)約時間;不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,可以節(jié)約資源、節(jié)約帶寬。

為了解決上述問題,本發(fā)明公開了一種基于瀏覽器獲取目標(biāo)前端資源文件的方法,所述瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,所述差分文件與所述原始前端資源文件合并能形成高于或低于所述原始前端資源文件版本的另一版本,所述方法包括:

獲取目標(biāo)前端資源文件的版本號;

當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號不同時,從所述瀏覽器存儲的所述差分文件中獲取與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

將所述原始前端資源文件與所述目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件。

進一步地,獲取目標(biāo)前端資源文件的版本號,包括:

接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表;其中,所述可用版本號列表中記載有所述瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系;

判斷所述預(yù)設(shè)網(wǎng)頁url中是否包含所述目標(biāo)前端資源文件的版本號;

如果所述預(yù)設(shè)網(wǎng)頁url中包含所述目標(biāo)前端資源文件的版本號,則獲取所述預(yù)設(shè)網(wǎng)頁url中包含的所述目標(biāo)前端資源文件的版本號;

如果所述預(yù)設(shè)網(wǎng)頁url中不包含所述目標(biāo)前端資源文件的版本號,則獲取所述可用版本號列表中的最新版本號,將所述最新版本號作為所述目標(biāo)前端資源文件的版本號。

進一步地,從所述瀏覽器存儲的所述差分文件中獲取與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分之前,還包括:

判斷所述瀏覽器存儲的所述差分文件中是否存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

如果所述瀏覽器存儲的所述差分文件中存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則獲取所述瀏覽器存儲的所述目標(biāo)差分文件;

如果所述瀏覽器存儲的所述差分文件中不存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則從服務(wù)器獲取所述目標(biāo)差分文件。

進一步地,所述方法還包括:

當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號相同時,則獲取所述瀏覽器存儲的所述原始前端資源文件作為所述目標(biāo)前端資源文件。

進一步地,當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號相同時之前,或當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號不同時之前,還包括:

判斷所述目標(biāo)前端資源文件的版本號是否是所述可用版本號列表中的一種;

如果所述目標(biāo)前端資源文件的版本號是所述可用版本號列表中的一種,則判斷所述目標(biāo)前端資源文件的版本號是否與所述原始前端資源文件的版本號相同;

如果所述目標(biāo)前端資源文件的版本號不是所述可用版本號列表中的一種,則將所述目標(biāo)前端資源文件的版本號確定為所述可用版本號列表中的最新版本號,然后執(zhí)行判斷所述目標(biāo)前端資源文件的版本號是否與所述原始前端資源文件的版本號相同的步驟。

進一步地,接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可 用版本號列表之前,還包括:

獲取用戶輸入的所述預(yù)設(shè)網(wǎng)頁url,其中,所述預(yù)設(shè)網(wǎng)頁url中包含所述目標(biāo)前端資源文件的版本號;

向所述預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求。

進一步地,接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表之前,還包括:

獲取所述預(yù)設(shè)網(wǎng)頁url;

向所述預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求;

所述服務(wù)器接收所述瀏覽器可用版本號查詢請求,獲取所述可用版本號查詢請求對應(yīng)的所述可用版本號列表;

所述服務(wù)器判斷是否需要指定所述目標(biāo)前端資源文件的版本號;

如果需要,則所述服務(wù)器在所述預(yù)設(shè)網(wǎng)頁url中添加所述目標(biāo)前端資源文件的版本號,將添加所述目標(biāo)前端資源文件的版本號的所述預(yù)設(shè)網(wǎng)頁url,以及所述可用版本號列表返回給所述瀏覽器;

相應(yīng)地,接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表時,還包括:

接收所述服務(wù)器返回的所述預(yù)設(shè)網(wǎng)頁url,將原來的所述預(yù)設(shè)網(wǎng)頁url替換為返回的所述預(yù)設(shè)網(wǎng)頁url。

為了解決上述問題,本發(fā)明還公開了一種基于瀏覽器獲取目標(biāo)前端資源文件的裝置,所述瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,所述差分文件與所述原始前端資源文件合并能形成高于或低于所述原始前端資源文件版本的另一版本,所述裝置包括:

第一獲取模塊,用于獲取目標(biāo)前端資源文件的版本號;

第二獲取模塊,用于當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號不同時,從所述瀏覽器存儲的所述差分文件中獲取與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

合并模塊,用于將所述原始前端資源文件與所述目標(biāo)差分文件進行合并 得到目標(biāo)前端資源文件。

進一步地,所述第一獲取模塊包括:

接收單元,用于接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表;其中,所述可用版本號列表中記載有所述瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系;

判斷單元,用于判斷所述預(yù)設(shè)網(wǎng)頁url中是否包含所述目標(biāo)前端資源文件的版本號;

第一處理單元,用于如果所述預(yù)設(shè)網(wǎng)頁url中包含所述目標(biāo)前端資源文件的版本號,則獲取所述預(yù)設(shè)網(wǎng)頁url中包含的所述目標(biāo)前端資源文件的版本號;

第二處理單元,用于如果所述預(yù)設(shè)網(wǎng)頁url中不包含所述目標(biāo)前端資源文件的版本號,則獲取所述可用版本號列表中的最新版本號,將所述最新版本號作為所述目標(biāo)前端資源文件的版本號。

進一步地,所述裝置還包括:

第一判斷模塊,用于判斷所述瀏覽器存儲的所述差分文件中是否存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

第一處理模塊,用于如果所述瀏覽器存儲的所述差分文件中存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則獲取所述瀏覽器存儲的所述目標(biāo)差分文件;

第二處理模塊,用于如果所述瀏覽器存儲的所述差分文件中不存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則從服務(wù)器獲取所述目標(biāo)差分文件。

進一步地,所述裝置還包括:

第三獲取模塊,用于當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號相同時,則獲取所述瀏覽器存儲的所述原始前端資源文件作為所述目標(biāo)前端資源文件。

進一步地,所述裝置還包括:

第二判斷模塊,用于當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號相同時之前,或當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號不同時之前,判斷所述目標(biāo)前端資源文件的版本號是否是所述可用版本號列表中的一種;

第三處理模塊,用于如果所述目標(biāo)前端資源文件的版本號是所述可用版本號列表中的一種,則判斷所述目標(biāo)前端資源文件的版本號是否與所述原始前端資源文件的版本號相同;

第四處理模塊,用于如果所述目標(biāo)前端資源文件的版本號不是所述可用版本號列表中的一種,則將所述目標(biāo)前端資源文件的版本號確定為所述可用版本號列表中的最新版本號,然后通知所述第三處理模塊執(zhí)行判斷所述目標(biāo)前端資源文件的版本號是否與所述原始前端資源文件的版本號相同的步驟。

進一步地,,所述第一獲取模塊還包括:

第一獲取單元,用于獲取用戶輸入的所述預(yù)設(shè)網(wǎng)頁url,其中,所述預(yù)設(shè)網(wǎng)頁url中包含所述目標(biāo)前端資源文件的版本號;

第一發(fā)送單元,用于向所述預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求。

為了解決上述問題,本發(fā)明還公開了一種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng),所述系統(tǒng)包括:瀏覽器;其中,所述瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,所述差分文件與所述原始前端資源文件合并能形成高于或低于所述原始前端資源文件版本的另一版本;

所述瀏覽器包括:

第一獲取模塊,用于獲取目標(biāo)前端資源文件的版本號;

第二獲取模塊,用于當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號不同時,從所述瀏覽器存儲的所述差分文件中獲取與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

合并模塊,用于將所述原始前端資源文件與所述目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件。

進一步地,所述第一獲取模塊包括:

接收單元,用于接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表;其中,所述可用版本號列表中記載有所述瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系;

判斷單元,用于判斷所述預(yù)設(shè)網(wǎng)頁url中是否包含所述目標(biāo)前端資源文件的版本號;

第一處理單元,用于如果所述預(yù)設(shè)網(wǎng)頁url中包含所述目標(biāo)前端資源文件的版本號,則獲取所述預(yù)設(shè)網(wǎng)頁url中包含的所述目標(biāo)前端資源文件的版本號;

第二處理單元,用于如果所述預(yù)設(shè)網(wǎng)頁url中不包含所述目標(biāo)前端資源文件的版本號,則獲取所述可用版本號列表中的最新版本號,將所述最新版本號作為所述目標(biāo)前端資源文件的版本號。

進一步地,所述系統(tǒng)還包括:

第一判斷模塊,用于判斷所述瀏覽器存儲的所述差分文件中是否存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

第一處理模塊,用于如果所述瀏覽器存儲的所述差分文件中存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則獲取所述瀏覽器存儲的所述目標(biāo)差分文件;

第二處理模塊,用于如果所述瀏覽器存儲的所述差分文件中不存在與所述目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則從服務(wù)器獲取所述目標(biāo)差分文件。

進一步地,所述系統(tǒng)還包括:

第三獲取模塊,用于當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號相同時,則獲取所述瀏覽器存儲的所述原始前端資源文件作為所述目標(biāo)前端資源文件。

進一步地,所述系統(tǒng)還包括:

第二判斷模塊,用于當(dāng)所述目標(biāo)前端資源文件的版本號與所述原始前端資源文件的版本號相同時之前,或當(dāng)所述目標(biāo)前端資源文件的版本號與所述 原始前端資源文件的版本號不同時之前,判斷所述目標(biāo)前端資源文件的版本號是否是所述可用版本號列表中的一種;

第三處理模塊,用于如果所述目標(biāo)前端資源文件的版本號是所述可用版本號列表中的一種,則判斷所述目標(biāo)前端資源文件的版本號是否與所述原始前端資源文件的版本號相同;

第四處理模塊,用于如果所述目標(biāo)前端資源文件的版本號不是所述可用版本號列表中的一種,則將所述目標(biāo)前端資源文件的版本號確定為所述可用版本號列表中的最新版本號,然后通知所述第三處理模塊執(zhí)行判斷所述目標(biāo)前端資源文件的版本號是否與所述原始前端資源文件的版本號相同的步驟。

進一步地,所述第一獲取模塊還包括:

第一獲取單元,用于獲取用戶輸入的所述預(yù)設(shè)網(wǎng)頁url,其中,所述預(yù)設(shè)網(wǎng)頁url中包含所述目標(biāo)前端資源文件的版本號;

第一發(fā)送單元,用于向所述預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求。

進一步地,所述第一獲取模塊還包括:

第二獲取單元,用于獲取所述預(yù)設(shè)網(wǎng)頁url;

第二發(fā)送單元,用于向所述預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求;

所述系統(tǒng)還包括:所述服務(wù)器;

所述服務(wù)器包括:

第五處理模塊,用于接收所述瀏覽器可用版本號查詢請求,獲取所述可用版本號查詢請求對應(yīng)的所述可用版本號列表;

第三判斷模塊,用于判斷是否需要指定所述目標(biāo)前端資源文件的版本號;

添加模塊,用于如果需要,則在所述預(yù)設(shè)網(wǎng)頁url中添加所述目標(biāo)前端資源文件的版本號,將添加所述目標(biāo)前端資源文件的版本號的所述預(yù)設(shè)網(wǎng)頁url,以及所述可用版本號列表返回給所述瀏覽器;

相應(yīng)地,所述接收單元,還用于接收所述服務(wù)器返回的所述預(yù)設(shè)網(wǎng)頁url,將原來的所述預(yù)設(shè)網(wǎng)頁url替換為返回的所述預(yù)設(shè)網(wǎng)頁url。

與現(xiàn)有技術(shù)相比,本發(fā)明可以獲得包括以下技術(shù)效果:

1)瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,當(dāng)瀏覽器無法通過現(xiàn)有的原始前端資源文件顯示預(yù)設(shè)網(wǎng)頁時,通過從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件的版本號對應(yīng)的目標(biāo)差分文件,將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件,通過目標(biāo)前端資源文件顯示預(yù)設(shè)網(wǎng)頁,不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,實現(xiàn)過程簡單快捷,可以節(jié)約時間;不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,可以節(jié)約資源、節(jié)約帶寬。

2)瀏覽器存儲原始前端資源文件以及至少一個差分文件,可以隨時通過原始前端資源文件和各個差分文件合并得到各個歷史版本的目標(biāo)前端資源文件,通過各個歷史版本的目標(biāo)前端資源文件進行回歸測試。

3)當(dāng)有最新版本的前端資源文件,將前端資源文件的最新版本上傳到cdn服務(wù)器后,服務(wù)器可以在部分瀏覽器的預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號為最新版本號,使得部分瀏覽器可以根據(jù)最新版本號從cdn服務(wù)器器獲取最新版本的前端資源文件,對前端資源文件的最新版本的代碼進行測試,不需要全部瀏覽器的前端資源文件的版本號更新后才進行測試,可以很簡單地實現(xiàn)測試;并且在測試完成后只要將最新版本號加到可用版本號列表,就可以進行后續(xù)使用實現(xiàn)發(fā)布。

4)服務(wù)器可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號來控制瀏覽器用什么版本的前端資源文件,所以服務(wù)器可以將不同地方的瀏覽器定向到不同的版本的前端資源文件、可以將某一類瀏覽器先定向到新版本的前端資源文件等,可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號實現(xiàn)異步更新、a/b測試、局部更新等,減輕cdn服務(wù)器壓力。

當(dāng)然,實施本發(fā)明的任一產(chǎn)品必不一定需要同時達到以上所述的所有技術(shù)效果。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:

圖1是本發(fā)明實施例的第一種基于瀏覽器獲取目標(biāo)前端資源文件的方法流程圖;

圖2是本發(fā)明實施例的第二種基于瀏覽器獲取目標(biāo)前端資源文件的方法流程圖;

圖3是本發(fā)明實施例的第三種基于瀏覽器獲取目標(biāo)前端資源文件的方法流程圖;

圖4是本發(fā)明實施例的第四種基于瀏覽器獲取目標(biāo)前端資源文件的方法流程圖;

圖5是本發(fā)明實施例的第一種基于瀏覽器獲取目標(biāo)前端資源文件的裝置結(jié)構(gòu)示意圖;

圖6是本發(fā)明實施例的第二種基于瀏覽器獲取目標(biāo)前端資源文件的裝置結(jié)構(gòu)示意圖;

圖7是本發(fā)明實施例的第三種基于瀏覽器獲取目標(biāo)前端資源文件的裝置結(jié)構(gòu)示意圖;

圖8是本發(fā)明實施例的第四種基于瀏覽器獲取目標(biāo)前端資源文件的裝置結(jié)構(gòu)示意圖;

圖9是本發(fā)明實施例的第一種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng)結(jié)構(gòu)示意圖;

圖10是本發(fā)明實施例的第二種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng)結(jié)構(gòu)示意圖;

圖11是本發(fā)明實施例的第三種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng)結(jié)構(gòu)示意圖;

圖12是本發(fā)明實施例的第四種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng)結(jié)構(gòu)示意圖;

圖13是本發(fā)明實施例的第五種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng)結(jié)構(gòu)示意圖。

具體實施方式

以下將配合附圖及實施例來詳細(xì)說明本發(fā)明的實施方式,藉此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題并達成技術(shù)功效的實現(xiàn)過程能充分理解并據(jù)以實施。

在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。

計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏? 誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本發(fā)明的較佳實施方式,然所述描述乃以說明本發(fā)明的一般原則為目的,并非用以限定本發(fā)明的范圍。本發(fā)明的保護范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個…...”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。

實施例描述

下面以一實施例對本發(fā)明方法的實現(xiàn)作進一步說明。如圖1所示,為本發(fā)明實施例的一種基于瀏覽器獲取目標(biāo)前端資源文件的方法流程圖,瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,該方法包括:

s101:獲取目標(biāo)前端資源文件的版本號。

具體地,本實施例中在瀏覽器存儲一個原始前端資源文件(一般是發(fā)布新版本之前最新版本的前端資源文件的文件)和多個不同版本號的前端資源文件的差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本。差分文件由服務(wù)器通過diff算法、alter算法、或最長子串比較算法(longestcommonsubsequence)等生成,差分文件的個數(shù)與可以使用的前端資源文件的版本數(shù)有關(guān),如果可以使用的前端資源文件的版本數(shù)為n(自然數(shù)),則差分文件的個數(shù)為n-1。通過一個原始前端資源文件和多個不同的差分文件,可以得到多個版本的前端資源文件,在服務(wù)器端設(shè)置可用版本接口,可用版本接口對應(yīng)不同的可用版本,將 可用版本的版本號(包括瀏覽器能夠使用的所有前端資源文件的版本號)、以及前端資源文件與差分文件對應(yīng)關(guān)系存儲在可用版本號列表中供選取使用,從而可用版本號列表中記載有瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系。并且在后續(xù)可以按照預(yù)設(shè)時間間隔查詢可用版本接口對可用版本號列表進行更新,或在可用版本接口更新后發(fā)送更新通知對可用版本號列表進行更新。目標(biāo)前端資源文件的版本號是當(dāng)前被選取使用的前端資源文件的版本號。

通過一個原始前端資源文件和多個不同的差分文件,可以得到多個版本的前端資源文件,例如:原始前端資源文件為原始前端資源文件0,發(fā)布新版本前端資源文件1后,瀏覽器獲取使用新版本前端資源文件的信息,從服務(wù)器獲取新版本前端資源文件1與原始前端資源文件0的差分文件0-1并存儲在瀏覽器,將原始前端資源文件0與差分文件0-1合并得到原始前端資源文件1,將原始前端資源文件0更新(為了便于描述稱為第一次更新)為原始前端資源文件1并存儲在瀏覽器,第一次更新后原始前端資源文件為原始前端資源文件1(此時原始前端資源文件0被刪除),此時對應(yīng)原始前端資源文件1與原始前端資源文件0的差分文件為差分文件0-1。與第一次更新類似,第二次更新后原始前端資源文件為原始前端資源文件2(此時原始前端資源文件1被刪除),此時對應(yīng)原始前端資源文件2與原始前端資源文件1的差分文件為差分文件1-2。此后,如果預(yù)使用版本2的前端資源文件,則通過原始前端資源文件2可以實現(xiàn),如果預(yù)使用版本1的前端資源文件,則通過原始前端資源文件2和差分文件1-2合并可以實現(xiàn),如果預(yù)使用版本0的前端資源文件,則通過原始前端資源文件2、差分文件1-2和差分文件0-1合并可以實現(xiàn)。

s102:當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時,從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件。

具體地,與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,如在前面s101所列舉的例子中,目標(biāo)前端資源文件的版本號為0,當(dāng)此時瀏覽器存儲的是原始前端資源文件2,則此時目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件為差分文 件1-2和差分文件0-1。目標(biāo)前端資源文件的版本號為1,當(dāng)此時瀏覽器存儲的是原始前端資源文件2,則此時目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件為差分文件1-2。

s103:將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件。

具體地,當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時,目標(biāo)前端資源文件的版本號可能是高于或低于原始前端資源文件版本的另一版本,這時候可以從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件。如:原始前端資源文件1與差分文件0-1合并得到目標(biāo)前端資源文件0.原始前端資源文件1與差分文件1-2合并得到目標(biāo)前端資源文件2。

具體地,為了保證可以更好地實現(xiàn)本申請,在瀏覽器空閑時,可以進行更新操作,更新操作至少可以包括下面的一種:

1)查詢?yōu)g覽器存儲的差分文件的版本號,根據(jù)可用版本號列表中記載的瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系,判斷瀏覽器存儲的差分文件中是否存在可用版本號列表中沒有記載的差分文件,如果存在則刪除瀏覽器存儲的可用版本號列表中沒有記載的差分文件。

2)查詢?yōu)g覽器存儲的差分文件的版本號,根據(jù)可用版本號列表中記載的瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系,判斷可用版本號列表中記載的差分文件瀏覽器是否沒有存儲,如果瀏覽器沒有存儲,則向服務(wù)器請求瀏覽器沒有存儲的差分文件,并在獲取到服務(wù)器返回的瀏覽器沒有存儲的差分文件后存儲在瀏覽器。

3)查詢?yōu)g覽器存儲的前端資源文件的版本號,根據(jù)可用版本號列表中記載的瀏覽器存儲的前端資源文件的版本號,判斷瀏覽器存儲的前端資源文件與可用版本號列表中記載的瀏覽器存儲的前端資源文件是否相同,如果瀏覽器存儲的前端資源文件與可用版本號列表中記載的瀏覽器存儲的前端資源文件不同,則從服務(wù)器獲取可用版本號列表中記載的瀏覽器存儲的前端資 源文件,將可用版本號列表中記載的瀏覽器存儲的前端資源文件存儲在瀏覽器。

具體地,參見圖2,獲取目標(biāo)前端資源文件的版本號包括:

s201:接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表。

其中,可用版本號列表中記載有瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系。

具體地,接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表之前,還包括:

獲取用戶輸入的預(yù)設(shè)網(wǎng)頁url,其中,預(yù)設(shè)網(wǎng)頁url中包含目標(biāo)前端資源文件的版本號;

向預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求。

其中,用戶輸入預(yù)設(shè)網(wǎng)頁url時,可以通過url指定所要用的目標(biāo)前端資源文件的版本號。如頁面原本的url是http://example.com,用戶可以通過添加查詢字符串(querystring)的方式,把將其變成http://example.com?version=123,相當(dāng)于通過url指定要使用版本號為“123”的前端資源文件。從而瀏覽器用什么版本的前端資源文件可以由用戶自己決定。

或,具體地,接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表之前,還包括:

獲取預(yù)設(shè)網(wǎng)頁url;

向預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求;

服務(wù)器接收瀏覽器可用版本號查詢請求,獲取可用版本號查詢請求對應(yīng)的可用版本號列表;

服務(wù)器判斷是否需要指定目標(biāo)前端資源文件的版本號;

如果需要,則服務(wù)器在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號,將添加目標(biāo)前端資源文件的版本號的預(yù)設(shè)網(wǎng)頁url,以及可用版本號列表返回給瀏覽器;

相應(yīng)地,接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表時,還包括:

接收服務(wù)器返回的預(yù)設(shè)網(wǎng)頁url,將原來的預(yù)設(shè)網(wǎng)頁url替換為返回的預(yù)設(shè)網(wǎng)頁url。

具體地,服務(wù)器還可以通過url指定所要用的目標(biāo)前端資源文件的版本號。服務(wù)器判斷是否需要指定目標(biāo)前端資源文件的版本號時,可以是判斷預(yù)設(shè)網(wǎng)頁url中是否包含了用戶指定的版本號,如果預(yù)設(shè)網(wǎng)頁url中包含用戶指定的版本號,則確定不需要指定目標(biāo)前端資源文件的版本號;如果預(yù)設(shè)網(wǎng)頁url中沒有包含用戶指定的版本號,則確定需要指定目標(biāo)前端資源文件的版本號。服務(wù)器判斷是否需要指定目標(biāo)前端資源文件的版本號時,也可以是服務(wù)器判斷是否有指定目標(biāo)前端資源文件的版本號的指令,如果有指定目標(biāo)前端資源文件的版本號的指令,則無論預(yù)設(shè)網(wǎng)頁url中是否包含用戶指定的版本號,均通過服務(wù)器指定目標(biāo)前端資源文件的版本號,如在服務(wù)器數(shù)據(jù)庫里維護一張版本號管理表,其中記錄有這樣的字段:版本號字符串、發(fā)布日期、是否強制指定版本號等,服務(wù)器獲取到可用版本號查詢請求對應(yīng)的可用版本號列表后,檢查這張版本號管理表,如果發(fā)現(xiàn)當(dāng)前有強制指定版本號123的記錄,就在預(yù)設(shè)網(wǎng)頁url里添加version=123的查詢字符串(querystring)。從而瀏覽器客戶端用什么版本的前端資源文件也可以由服務(wù)器決定。

s202:判斷預(yù)設(shè)網(wǎng)頁url中是否包含目標(biāo)前端資源文件的版本號,如果預(yù)設(shè)網(wǎng)頁url中包含目標(biāo)前端資源文件的版本號,則執(zhí)行s203;如果預(yù)設(shè)網(wǎng)頁url中不包含目標(biāo)前端資源文件的版本號,則執(zhí)行s203。

s203:獲取預(yù)設(shè)網(wǎng)頁url中包含的目標(biāo)前端資源文件的版本號,然后執(zhí)行s102。

s204:獲取可用版本號列表中的最新版本號,將最新版本號作為目標(biāo)前端資源文件的版本號,然后執(zhí)行s102。

具體地,參見圖3,從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分之前,還包括:

s301:判斷瀏覽器存儲的差分文件中是否存在與目標(biāo)前端資源文件對應(yīng) 的目標(biāo)差分文件,如果瀏覽器存儲的差分文件中存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則執(zhí)行s302;如果瀏覽器存儲的差分文件中不存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則執(zhí)行s303。

s302:獲取瀏覽器存儲的目標(biāo)差分文件,然后執(zhí)行103。

s303:從服務(wù)器獲取目標(biāo)差分文件,然后執(zhí)行103。

具體地,從服務(wù)器獲取目標(biāo)差分文件包括:

向服務(wù)器發(fā)送目標(biāo)差分文件獲取請求;使得服務(wù)器接收到目標(biāo)差分文件獲取請求后,查詢是否存在目標(biāo)差分文件,如果存在,則向瀏覽器返回目標(biāo)差分文件url,如果不存在,則生成目標(biāo)差分文件,將目標(biāo)差分文件上傳至cdn(contentdeliverynetwork,內(nèi)容分發(fā)網(wǎng)絡(luò))服務(wù)器,接收cdn服務(wù)器返回的目標(biāo)差分文件url,存儲并向瀏覽器返回目標(biāo)差分文件url。

獲取服務(wù)器返回的目標(biāo)差分文件url,根據(jù)目標(biāo)差分文件url查詢到cdn服務(wù)器,從cdn服務(wù)器中下載目標(biāo)差分文件。

具體地,該方法還包括:當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同時,則獲取瀏覽器存儲的原始前端資源文件作為目標(biāo)前端資源文件,相應(yīng)地,參見圖4,當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同時之前,或當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時之前,還包括:

s401:判斷目標(biāo)前端資源文件的版本號是否是可用版本號列表中的一種,如果目標(biāo)前端資源文件的版本號是可用版本號列表中的一種,則執(zhí)行s402;如果目標(biāo)前端資源文件的版本號不是可用版本號列表中的一種,則執(zhí)行s403。

s402:判斷目標(biāo)前端資源文件的版本號是否與原始前端資源文件的版本號相同,如果目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同,則執(zhí)行s404;如果目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同,則執(zhí)行s102。

s403:將目標(biāo)前端資源文件的版本號確定為可用版本號列表中的最新版本號,然后執(zhí)行s402。

s404:獲取瀏覽器存儲的原始前端資源文件作為目標(biāo)前端資源文件,然后結(jié)束。

具體地,得到目標(biāo)前端資源文件后,執(zhí)行目標(biāo)前端資源文件中的資源代碼。

本實施例所述的基于瀏覽器獲取目標(biāo)前端資源文件的方法,瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,當(dāng)瀏覽器無法通過現(xiàn)有的原始前端資源文件顯示預(yù)設(shè)網(wǎng)頁時,通過從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件的版本號對應(yīng)的目標(biāo)差分文件,將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件,通過目標(biāo)前端資源文件顯示預(yù)設(shè)網(wǎng)頁,不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,實現(xiàn)過程簡單快捷,可以節(jié)約時間;不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,可以節(jié)約資源、節(jié)約帶寬。瀏覽器存儲原始前端資源文件以及至少一個差分文件,可以隨時通過原始前端資源文件和各個差分文件合并得到各個歷史版本的目標(biāo)前端資源文件,通過各個歷史版本的目標(biāo)前端資源文件進行回歸測試。當(dāng)有最新版本的前端資源文件,將前端資源文件的最新版本上傳到cdn服務(wù)器后,服務(wù)器可以在部分瀏覽器的預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號為最新版本號,使得部分瀏覽器可以根據(jù)最新版本號從cdn服務(wù)器器獲取最新版本的前端資源文件,對前端資源文件的最新版本的代碼進行測試,不需要全部瀏覽器的前端資源文件的版本號更新后才進行測試,可以很簡單地實現(xiàn)測試;并且在測試完成后只要將最新版本號加到可用版本號列表,就可以進行后續(xù)使用實現(xiàn)發(fā)布。服務(wù)器可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號來控制瀏覽器用什么版本的前端資源文件,所以服務(wù)器可以將不同地方的瀏覽器定向到不同的版本的前端資源文件、可以將某一類瀏覽器先定向到新版本的前端資源文件等,可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號實現(xiàn)異步更新、a/b測試、局部更新等,減輕cdn服務(wù)器壓力。

如圖5所示,是本發(fā)明實施例的一種基于瀏覽器獲取目標(biāo)前端資源文件的裝置結(jié)構(gòu)圖,瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,該裝置包括:

第一獲取模塊501,用于獲取目標(biāo)前端資源文件的版本號;

第二獲取模塊502,用于當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時,從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

合并模塊503,用于將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件。

進一步地,第一獲取模塊501包括:

接收單元,用于接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表;其中,可用版本號列表中記載有瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系;

判斷單元,用于判斷預(yù)設(shè)網(wǎng)頁url中是否包含目標(biāo)前端資源文件的版本號;

第一處理單元,用于如果預(yù)設(shè)網(wǎng)頁url中包含目標(biāo)前端資源文件的版本號,則獲取預(yù)設(shè)網(wǎng)頁url中包含的目標(biāo)前端資源文件的版本號;

第二處理單元,用于如果預(yù)設(shè)網(wǎng)頁url中不包含目標(biāo)前端資源文件的版本號,則獲取可用版本號列表中的最新版本號,將最新版本號作為目標(biāo)前端資源文件的版本號。

進一步地,參見圖6,該裝置還包括:

第一判斷模塊504,用于判斷瀏覽器存儲的差分文件中是否存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

第一處理模塊505,用于如果瀏覽器存儲的差分文件中存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則獲取瀏覽器存儲的目標(biāo)差分文件;

第二處理模塊506,用于如果瀏覽器存儲的差分文件中不存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則從服務(wù)器獲取目標(biāo)差分文件。

進一步地,參見圖7,該裝置還包括:

第三獲取模塊507,用于當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同時,則獲取瀏覽器存儲的原始前端資源文件作為目標(biāo)前端資源文件。

進一步地,參見圖8,該裝置還包括:

第二判斷模塊508,用于當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同時之前,或當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時之前,判斷目標(biāo)前端資源文件的版本號是否是可用版本號列表中的一種;

第三處理模塊509,用于如果目標(biāo)前端資源文件的版本號是可用版本號列表中的一種,則判斷目標(biāo)前端資源文件的版本號是否與原始前端資源文件的版本號相同;

第四處理模塊510,用于如果目標(biāo)前端資源文件的版本號不是可用版本號列表中的一種,則將目標(biāo)前端資源文件的版本號確定為可用版本號列表中的最新版本號,然后通知第三處理模塊執(zhí)行判斷目標(biāo)前端資源文件的版本號是否與原始前端資源文件的版本號相同的步驟。

進一步地,第一獲取模塊還包括:

第一獲取單元,用于獲取用戶輸入的預(yù)設(shè)網(wǎng)頁url,其中,預(yù)設(shè)網(wǎng)頁url中包含目標(biāo)前端資源文件的版本號;

第一發(fā)送單元,用于向預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求。

本實施例所述的基于瀏覽器獲取目標(biāo)前端資源文件的裝置,瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,當(dāng)瀏覽器無法通過現(xiàn)有的原始前端資源文件顯示預(yù)設(shè)網(wǎng)頁時,通過從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件的版本號對應(yīng)的目標(biāo)差分文件,將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件,通過目標(biāo)前端資源文件顯示預(yù)設(shè)網(wǎng)頁,不需要重新從服務(wù)器獲取原有的原始前端資源文件進行 代碼回滾顯示預(yù)設(shè)網(wǎng)頁,實現(xiàn)過程簡單快捷,可以節(jié)約時間;不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,可以節(jié)約資源、節(jié)約帶寬。瀏覽器存儲原始前端資源文件以及至少一個差分文件,可以隨時通過原始前端資源文件和各個差分文件合并得到各個歷史版本的目標(biāo)前端資源文件,通過各個歷史版本的目標(biāo)前端資源文件進行回歸測試。當(dāng)有最新版本的前端資源文件,將前端資源文件的最新版本上傳到cdn服務(wù)器后,服務(wù)器可以在部分瀏覽器的預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號為最新版本號,使得部分瀏覽器可以根據(jù)最新版本號從cdn服務(wù)器器獲取最新版本的前端資源文件,對前端資源文件的最新版本的代碼進行測試,不需要全部瀏覽器的前端資源文件的版本號更新后才進行測試,可以很簡單地實現(xiàn)測試;并且在測試完成后只要將最新版本號加到可用版本號列表,就可以進行后續(xù)使用實現(xiàn)發(fā)布。服務(wù)器可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號來控制瀏覽器用什么版本的前端資源文件,所以服務(wù)器可以將不同地方的瀏覽器定向到不同的版本的前端資源文件、可以將某一類瀏覽器先定向到新版本的前端資源文件等,可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號實現(xiàn)異步更新、a/b測試、局部更新等,減輕cdn服務(wù)器壓力。

如圖9所示,是本發(fā)明實施例的一種基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng)結(jié)構(gòu)圖,系統(tǒng)包括:瀏覽器60;其中,瀏覽器存儲有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本;

瀏覽器60包括:

第一獲取模塊601,用于獲取目標(biāo)前端資源文件的版本號;

第二獲取模塊602,用于當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時,從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

合并模塊603,用于將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件。

進一步地,第一獲取模塊601包括:

接收單元,用于接收預(yù)設(shè)網(wǎng)頁統(tǒng)一資源定位符url對應(yīng)的服務(wù)器返回的可用版本號列表;其中,可用版本號列表中記載有瀏覽器能夠使用的所有前端資源文件的版本號、以及每個前端資源文件與差分文件對應(yīng)關(guān)系;

判斷單元,用于判斷預(yù)設(shè)網(wǎng)頁url中是否包含目標(biāo)前端資源文件的版本號;

第一處理單元,用于如果預(yù)設(shè)網(wǎng)頁url中包含目標(biāo)前端資源文件的版本號,則獲取預(yù)設(shè)網(wǎng)頁url中包含的目標(biāo)前端資源文件的版本號;

第二處理單元,用于如果預(yù)設(shè)網(wǎng)頁url中不包含目標(biāo)前端資源文件的版本號,則獲取可用版本號列表中的最新版本號,將最新版本號作為目標(biāo)前端資源文件的版本號。

進一步地,參見圖10,該系統(tǒng)還包括:

第一判斷模塊604,用于判斷瀏覽器存儲的差分文件中是否存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件;

第一處理模塊605,用于如果瀏覽器存儲的差分文件中存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則獲取瀏覽器存儲的目標(biāo)差分文件;

第二處理模塊606,用于如果瀏覽器存儲的差分文件中不存在與目標(biāo)前端資源文件對應(yīng)的目標(biāo)差分文件,則從服務(wù)器獲取目標(biāo)差分文件。

進一步地,參見圖11,該系統(tǒng)還包括:

第三獲取模塊607,用于當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同時,則獲取瀏覽器存儲的原始前端資源文件作為目標(biāo)前端資源文件。

進一步地,參見圖12,該系統(tǒng)還包括:

第二判斷模塊608,用于當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號相同時之前,或當(dāng)目標(biāo)前端資源文件的版本號與原始前端資源文件的版本號不同時之前,判斷目標(biāo)前端資源文件的版本號是否是可用版本號列表中的一種;

第三處理模塊609,用于如果目標(biāo)前端資源文件的版本號是可用版本號列表中的一種,則判斷目標(biāo)前端資源文件的版本號是否與原始前端資源文件的版本號相同;

第四處理模塊610,用于如果目標(biāo)前端資源文件的版本號不是可用版本號列表中的一種,則將目標(biāo)前端資源文件的版本號確定為可用版本號列表中的最新版本號,然后通知第三處理模塊執(zhí)行判斷目標(biāo)前端資源文件的版本號是否與原始前端資源文件的版本號相同的步驟。

進一步地,第一獲取模塊601還包括:

第一獲取單元,用于獲取用戶輸入的預(yù)設(shè)網(wǎng)頁url,其中,預(yù)設(shè)網(wǎng)頁url中包含目標(biāo)前端資源文件的版本號;

第一發(fā)送單元,用于向預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求。

進一步地,參見圖13,第一獲取模塊還包括:

第二獲取單元,用于獲取預(yù)設(shè)網(wǎng)頁url;

第二發(fā)送單元,用于向預(yù)設(shè)網(wǎng)頁url對應(yīng)的服務(wù)器發(fā)送瀏覽器可用版本號查詢請求;

該系統(tǒng)還包括:服務(wù)器70;

服務(wù)器70包括:

第五處理模塊701,用于接收瀏覽器可用版本號查詢請求,獲取可用版本號查詢請求對應(yīng)的可用版本號列表;

第三判斷模塊702,用于判斷是否需要指定目標(biāo)前端資源文件的版本號;

添加模塊703,用于如果需要,則在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號,將添加目標(biāo)前端資源文件的版本號的預(yù)設(shè)網(wǎng)頁url,以及可用版本號列表返回給瀏覽器;

相應(yīng)地,接收單元,還用于接收服務(wù)器返回的預(yù)設(shè)網(wǎng)頁url,將原來的預(yù)設(shè)網(wǎng)頁url替換為返回的預(yù)設(shè)網(wǎng)頁url。

本實施例所述的基于瀏覽器獲取目標(biāo)前端資源文件的系統(tǒng),瀏覽器存儲 有原始前端資源文件,以及至少一個差分文件,差分文件與原始前端資源文件合并能形成高于或低于原始前端資源文件版本的另一版本,當(dāng)瀏覽器無法通過現(xiàn)有的原始前端資源文件顯示預(yù)設(shè)網(wǎng)頁時,通過從瀏覽器存儲的差分文件中獲取與目標(biāo)前端資源文件的版本號對應(yīng)的目標(biāo)差分文件,將原始前端資源文件與目標(biāo)差分文件進行合并得到目標(biāo)前端資源文件,通過目標(biāo)前端資源文件顯示預(yù)設(shè)網(wǎng)頁,不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,實現(xiàn)過程簡單快捷,可以節(jié)約時間;不需要重新從服務(wù)器獲取原有的原始前端資源文件進行代碼回滾顯示預(yù)設(shè)網(wǎng)頁,可以節(jié)約資源、節(jié)約帶寬。瀏覽器存儲原始前端資源文件以及至少一個差分文件,可以隨時通過原始前端資源文件和各個差分文件合并得到各個歷史版本的目標(biāo)前端資源文件,通過各個歷史版本的目標(biāo)前端資源文件進行回歸測試。當(dāng)有最新版本的前端資源文件,將前端資源文件的最新版本上傳到cdn服務(wù)器后,服務(wù)器可以在部分瀏覽器的預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號為最新版本號,使得部分瀏覽器可以根據(jù)最新版本號從cdn服務(wù)器器獲取最新版本的前端資源文件,對前端資源文件的最新版本的代碼進行測試,不需要全部瀏覽器的前端資源文件的版本號更新后才進行測試,可以很簡單地實現(xiàn)測試;并且在測試完成后只要將最新版本號加到可用版本號列表,就可以進行后續(xù)使用實現(xiàn)發(fā)布。服務(wù)器可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號來控制瀏覽器用什么版本的前端資源文件,所以服務(wù)器可以將不同地方的瀏覽器定向到不同的版本的前端資源文件、可以將某一類瀏覽器先定向到新版本的前端資源文件等,可以通過在預(yù)設(shè)網(wǎng)頁url中添加目標(biāo)前端資源文件的版本號實現(xiàn)異步更新、a/b測試、局部更新等,減輕cdn服務(wù)器壓力。

該裝置、系統(tǒng)與前述的方法流程描述對應(yīng),不足之處參考上述方法流程的敘述,不再一一贅述。

上述說明示出并描述了本發(fā)明的若干優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改 動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
炉霍县| 万宁市| 民和| 中西区| 新和县| 南漳县| 河津市| 南郑县| 巧家县| 张家川| 科技| 津南区| 黎城县| 马边| 太和县| 满城县| 平舆县| 济阳县| 安顺市| 天柱县| 德庆县| 措美县| 泰顺县| 来安县| 石狮市| 吉安县| 湛江市| 永寿县| 天等县| 会东县| 苏州市| 行唐县| 微博| 门头沟区| 萨嘎县| 时尚| 错那县| 广丰县| 金塔县| 阳新县| 隆化县|