亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)及方法

文檔序號:6374298閱讀:163來源:國知局
專利名稱:一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種網(wǎng)絡(luò)數(shù)據(jù)傳輸領(lǐng)域,具體涉及一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)及方法。
背景技術(shù)
網(wǎng)頁游戲又稱web游戲,是利用瀏覽器在線操作的一種應(yīng)用程序,由于其無需下載龐大的用戶端,也不存在機(jī)器配置不夠的問題。且這種網(wǎng)頁游戲的關(guān)閉和切換都極其方便,用戶可以隨時(shí)隨地在任何一臺有上網(wǎng)條件的電腦上使用,因此得到廣泛的應(yīng)用。在開啟網(wǎng)頁游戲時(shí),用戶需在電腦上通過瀏覽器與游戲服務(wù)器建立連接關(guān)系,即向游戲服務(wù)器請求加載游戲的具有聲光效果的游戲場景,并向游戲服務(wù)器傳送游戲指令,以對游戲角色進(jìn)行控制。為了使用戶具有生動逼真的游戲體驗(yàn),用戶在打開游戲之前需加 載的用于實(shí)現(xiàn)游戲場景的資源數(shù)據(jù)的容量通常高達(dá)數(shù)百M(fèi)B,在網(wǎng)絡(luò)帶寬固定的前提下,用戶的等待時(shí)間較長,那么這個(gè)游戲是注定要喪失用戶群體的。因此,網(wǎng)頁游戲在開發(fā)中的一大矛盾就是用戶對縮短等待時(shí)間的要求與生動逼真的游戲體驗(yàn)的矛盾。為了解決這一矛盾,使用戶在使用中能夠更加快速地進(jìn)入游戲場景,現(xiàn)有的網(wǎng)頁游戲加載具有如下兩種方式一、集中加載,用戶在登錄游戲前把所有的資源數(shù)據(jù)全部從游戲服務(wù)器加載到用戶的電腦中,用戶進(jìn)入游戲后除了切換地圖以外,不再進(jìn)行資源數(shù)據(jù)的加載操作;其優(yōu)點(diǎn)在于,全部資源數(shù)據(jù)加載到瀏覽器后,游戲能夠快速響應(yīng)用戶操作,即時(shí)刷新顯示;其缺點(diǎn)在于,因?yàn)榈卿浻螒蚯耙獣r(shí)行全部資源數(shù)據(jù)的加載,用戶等待的時(shí)間很長,容易導(dǎo)致用戶缺乏耐心而流失。二、分模塊加載,即按功能將資源數(shù)據(jù)劃分模塊,再按模塊打包壓縮,在加載時(shí)按模塊加載;其優(yōu)點(diǎn)在于,登錄前只需要加載登錄模塊的資源數(shù)據(jù),減少了大部分的資源加載量,縮短了登錄前用戶的等待時(shí)間;其缺點(diǎn)在于,資源數(shù)據(jù)的加載操作放在了模塊初始化時(shí),在用戶登錄后同樣需要長時(shí)間的等待,并且因?yàn)橛脩羧绻诖似陂g對用戶端進(jìn)行操作容易出現(xiàn)不可預(yù)期的結(jié)果,所以大部分應(yīng)用程序在等待時(shí)間內(nèi)是禁止用戶操作的鎖定畫面,對用戶不友好。

發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的不足,提出了一種登錄網(wǎng)頁游戲時(shí)不需等待,對用戶操作可做到即時(shí)響應(yīng)的網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),及實(shí)現(xiàn)該系統(tǒng)的方法。本發(fā)明的技術(shù)方案如下—種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),包括服務(wù)器和用戶端,其特征在于所述用戶端包括相互連接的資源緩存、資源管理器和應(yīng)用層;所述資源管理器接收所述應(yīng)用層發(fā)出的資源請求,并根據(jù)所述資源請求在所述資源緩存中查找對應(yīng)的資源數(shù)據(jù),查找到所述資源數(shù)據(jù)后,將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用;當(dāng)所述資源緩存中沒有所述資源數(shù)據(jù)時(shí),所述資源管理器中生成一個(gè)默認(rèn)資源,將所述默認(rèn)資源返回所述應(yīng)用層,并將所述默認(rèn)資源儲存在所述資源緩存中占位,然后向所述服務(wù)器發(fā)出加載請求;當(dāng)所述資源數(shù)據(jù)由所述服務(wù)器加載到所述資源緩存中,用所述資源數(shù)據(jù)替換所述默認(rèn)資源,并將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用。所述資源數(shù)據(jù)包括帶有ARGB通道數(shù)據(jù)的圖片數(shù)據(jù)。所述服務(wù)器中包括用于對所述圖片數(shù)據(jù)進(jìn)行壓縮的圖像壓縮處理器,在所述圖像壓縮處理器中對所述圖片數(shù)據(jù)進(jìn)行逐像素的掃描,將每個(gè)像素的alpha通道數(shù)據(jù)分離出來,所有像素的alpha通道數(shù)據(jù)合并成alpha通道文件;所有像素的RGB通道數(shù)據(jù)進(jìn)行有損壓縮,生成RGB壓縮文件;所述alpha通道文件和所述RGB壓縮文件合并到一個(gè)中間文件中;將所述中間文件進(jìn)行無損壓縮,生成壓縮數(shù)據(jù)。所述中間文件內(nèi)容包括圖片寬度、像素總數(shù)、alpha通道文件、RGB壓縮文件。所述壓縮數(shù)據(jù)輸入所述資源緩存中進(jìn)行解壓縮,生成所述資源數(shù)據(jù)。所述資源管理器中對所述加載請求進(jìn)行優(yōu)先級劃分,所述加載請求在加載隊(duì)列中 按照優(yōu)先級的順序排序。所述資源管理器中設(shè)置計(jì)數(shù)器,當(dāng)所述應(yīng)用層發(fā)出一次資源請求時(shí)所述計(jì)數(shù)器的計(jì)數(shù)+1;當(dāng)所述應(yīng)用層發(fā)出一次銷毀請求,計(jì)數(shù)器的計(jì)數(shù)-I并判斷此時(shí)計(jì)數(shù)器的計(jì)數(shù)是否>0 ;當(dāng)計(jì)數(shù)為O時(shí),所述資源管理器指示所述資源緩存銷毀資源數(shù)據(jù)。一種實(shí)現(xiàn)網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)的加載方法,其步驟包括I)在用戶端設(shè)置相互連接的資源緩存、資源管理器和應(yīng)用層,所述資源管理器接收所述應(yīng)用層發(fā)出的資源請求,并將所述資源請求輸入所述資源緩存中查找對應(yīng)的資源數(shù)據(jù);2)如果所述資源緩存中保存了所述資源數(shù)據(jù),則將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用;3)如果所述資源緩存中沒有保存所述資源數(shù)據(jù),在所述資源管理器中生成一個(gè)默認(rèn)資源,將所述默認(rèn)資源返回所述應(yīng)用層,并將所述默認(rèn)資源儲存在所述資源緩存中占位;4)所述資源管理器向服務(wù)器發(fā)出加載請求;5)所述資源數(shù)據(jù)從所述服務(wù)器加載到所述資源緩存中,用所述資源數(shù)據(jù)替換所述默認(rèn)資源,并將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用。所述資源數(shù)據(jù)包括帶有ARGB通道數(shù)據(jù)的圖片數(shù)據(jù)。所述圖片數(shù)據(jù)在所述服務(wù)器中進(jìn)行壓縮,所述壓縮步驟包括A)對所述圖片數(shù)據(jù)進(jìn)行逐像素的掃描,將每個(gè)像素的alpha通道數(shù)據(jù)分離出來;B )所有像素的alpha通道數(shù)據(jù)合并成alpha通道文件;C)所有像素的RGB通道數(shù)據(jù)進(jìn)行有損壓縮,生成RGB壓縮文件;D)所述alpha通道文件和所述RGB壓縮文件合并到一個(gè)中間文件中;將所述中間文件進(jìn)行無損壓縮,生成壓縮數(shù)據(jù)。所述壓縮數(shù)據(jù)在所述資源緩存中進(jìn)行解壓縮,得到資源數(shù)據(jù),所述解壓縮的步驟包括a)對所述壓縮數(shù)據(jù)解壓縮得到所述中間文件;b)在所述中間文件中讀取所述圖片寬度和所述像素總數(shù),圖片高度=像素總數(shù)/圖片寬度;
c)按照所述圖片高度和所述圖片寬度在所述資源緩存中創(chuàng)建一個(gè)空白圖片;d)讀取所述alpha通道文件和所述RGB壓縮文件,對所述RGB壓縮文件解壓縮,生成RGB通道文件;e)將所述alpha通道文件中的alpha通道數(shù)據(jù)和所述RGB通道文件中的RGB通道數(shù)據(jù)合并為像素值,將所述像素值填入所述空白圖片中,還原成所述圖片數(shù)據(jù)。所述資源管理器中對所述加載請求進(jìn)行優(yōu)先級劃分,所述加載請求在加載隊(duì)列中按照優(yōu)先級的順序排序。所述資源管理器中設(shè)置計(jì)數(shù)器,當(dāng)所述應(yīng)用層發(fā)出一次資源請求時(shí)所述計(jì)數(shù)器的計(jì)數(shù)+1;當(dāng)所述應(yīng)用層發(fā)出一次銷毀請求,計(jì)數(shù)器的計(jì)數(shù)-I并判斷此時(shí)計(jì)數(shù)器的計(jì)數(shù)是否>0 ;當(dāng)計(jì)數(shù)為O時(shí),所述資源管理器指示所述資源緩存銷毀資源數(shù)據(jù)。本發(fā)明的技術(shù)效果如下 本發(fā)明的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)及方法,包括服務(wù)器和用戶端,其中用戶端包括相互連接的資源緩存、資源管理器和應(yīng)用層;資源管理器接收應(yīng)用層發(fā)出的資源請求,并將資源請求輸入資源緩存中查找對應(yīng)的資源數(shù)據(jù),將資源數(shù)據(jù)返回應(yīng)用層中使用;當(dāng)所述資源緩存中沒有資源數(shù)據(jù)時(shí),資源管理器中生成一個(gè)默認(rèn)資源,將默認(rèn)資源返回應(yīng)用層,并將默認(rèn)資源儲存在資源緩存中占位,然后向服務(wù)器發(fā)出加載請求;當(dāng)資源數(shù)據(jù)由服務(wù)器加載到資源緩存中,用資源數(shù)據(jù)替換默認(rèn)資源,并將資源數(shù)據(jù)返回應(yīng)用層中使用。由于在應(yīng)用層向資源管理器發(fā)出資源請求后、資源管理器向服務(wù)器發(fā)出加載請求前的這個(gè)時(shí)間段中,資源管理器生成一個(gè)用戶可進(jìn)行簡單操作的默認(rèn)資源返回給應(yīng)用層,以安撫用戶因長時(shí)間等待而產(chǎn)生的焦躁情緒,使用戶仍舊停留在網(wǎng)頁游戲的站點(diǎn)上,避免了因?yàn)榈却臅r(shí)間很長,而導(dǎo)致用戶因缺乏耐心而流失。對于資源數(shù)據(jù)中難以壓縮率的帶有ARGB通道數(shù)據(jù)的圖片數(shù)據(jù),本發(fā)明通過將每個(gè)像素的alpha通道數(shù)據(jù)分離成包含alpha通道數(shù)據(jù)的alpha通道文件和RGB通道數(shù)據(jù),在對RGB通道數(shù)據(jù)進(jìn)行第一次的有損壓縮;之后將alpha通道數(shù)據(jù)和RGB壓縮文件合并到一個(gè)中間文件中,再對這個(gè)中間文件進(jìn)行第二次的無損壓縮。經(jīng)過上述兩次壓縮之后,壓縮數(shù)據(jù)中保存了經(jīng)過無損壓縮、完整的alpha通道文件和經(jīng)過有損壓縮、壓縮率更低的RGB壓縮文件。從而既保留帶ARGB通道數(shù)據(jù)的圖片文件的alpha通道數(shù)據(jù),又能增加圖片文件的壓縮率,除此之外,這種壓縮方法還可以用于對圖片文件進(jìn)行加密。由于在第一次壓縮后將alpha通道數(shù)據(jù)和RGB壓縮文件合并到一個(gè)中間文件中,除了可以簡化程序開發(fā)的復(fù)雜性,還可避免兩個(gè)文件在加載中因先后順序顛倒而導(dǎo)致的加載失敗的風(fēng)險(xiǎn)。進(jìn)一步,如果將alpha通道數(shù)據(jù)和RGB壓縮文件分成兩個(gè)文件保存,那么這兩個(gè)獨(dú)立文件會包含各自的文件頭信息,增加文件大小。而將alpha通道數(shù)據(jù)和RGB壓縮文件存成一個(gè)二進(jìn)制文件時(shí)是不帶文件頭信息的,存儲的就是像素信息,而一個(gè)文件的體積和壓縮比更高。


圖I是本發(fā)明的網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)結(jié)構(gòu)示意2是本發(fā)明的圖片壓縮處理器中對資源數(shù)據(jù)進(jìn)行二次壓縮的流程示意3是本發(fā)明的資源管理器中加載請求的優(yōu)先級管理的流程示意圖
圖4是本發(fā)明的資源管理器中資源管理的流程示意圖
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明進(jìn)行說明。在以下描述中,描述一些具體細(xì)節(jié)為計(jì)算機(jī)領(lǐng)域的技術(shù)人員提供對本發(fā)明的整體理解。在實(shí)施例中,以示意圖或者框圖的形式表明實(shí)現(xiàn)具體功能的元件,以便突出技術(shù)重點(diǎn),而不會在不必要的細(xì)節(jié)方面模糊本發(fā)明。比如,由于本領(lǐng)域普通技術(shù)人員的理解范圍中涵蓋了關(guān)于網(wǎng)絡(luò)通信、電磁信號指令技術(shù)、用戶接口或輸入/輸出技術(shù)等本領(lǐng)域中公開的、常識性的細(xì)節(jié),因而在實(shí)施例中最大程度上省略了上述技術(shù)細(xì)節(jié),而不認(rèn)為這些細(xì)節(jié)是獲得本發(fā)明完整技術(shù)方案所必須的特征。如本領(lǐng)域普通技術(shù)人員的理解范圍可知,本發(fā)明的實(shí)施方式可以是系統(tǒng)、方法或者計(jì)算機(jī)程序產(chǎn)品,因此,本發(fā)明可采取完全硬件實(shí)施例、完全軟件實(shí)施例(包括計(jì)算機(jī)固件、駐留軟件、微代碼等)、軟硬件組合實(shí)施例的形式,上述實(shí)施例的形式可分別概括為“模塊”或“系統(tǒng)”。本發(fā)明可采用一個(gè)或多個(gè)計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)的任何組合,其中 計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是基于電子、磁、光、電磁、紅外或半導(dǎo)體的系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)等等。如圖I所示,以網(wǎng)頁游戲?yàn)槔景l(fā)明的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)包括游戲服務(wù)器I、用戶端2,其中游戲服務(wù)器I中主要包括處理器11、游戲數(shù)據(jù)庫12和圖片壓縮處理器13,用戶端2主要包括資源緩存21、資源管理器22和應(yīng)用層23。其中,處理器11用于接收來自用戶端2中的資源管理器22的資源數(shù)據(jù)的加載請求,并讀取用戶端2的賬戶對應(yīng)的游戲信息,處理器11依據(jù)加載請求和游戲信息在游戲數(shù)據(jù)庫12中查找對應(yīng)的資源數(shù)據(jù)。游戲數(shù)據(jù)庫12用于儲存整個(gè)網(wǎng)頁游戲的資源數(shù)據(jù),包括圖片數(shù)據(jù)、游戲中角色場景Al等配置信息,游戲數(shù)據(jù)庫12將資源數(shù)據(jù)輸入圖片壓縮處理器13中進(jìn)行壓縮。圖片壓縮處理器13可對資源數(shù)據(jù)進(jìn)行二次壓縮,得到壓縮率更高的壓縮數(shù)據(jù)。圖片壓縮處理器13將該壓縮數(shù)據(jù)作為加載請求的返回值返回用戶端2的資源緩存21進(jìn)行解壓縮,還原成資源數(shù)據(jù)。如圖2所示,在游戲服務(wù)器I向用戶端2加載的資源數(shù)據(jù)中,圖片數(shù)據(jù)由帶有ARGB通道數(shù)據(jù)的像素組成,每個(gè)像素都是一個(gè)ARGB (alpha, red, green, blue)色。像素值的取值范圍從0x00000000到OxFFFFFFFF,可劃分為alpha通道、red通道、green通道、blue通道,其中alpha通道為透明通道,每個(gè)通道的取值范圍是0-255。在圖片壓縮處理器13中,二次壓縮的步驟如下I)首先從游戲數(shù)據(jù)庫12中讀取資源數(shù)據(jù),然后只保留圖片數(shù)據(jù),過濾掉其他文件,如游戲中角色場景Al等配置信息;2)對圖片數(shù)據(jù)進(jìn)行逐個(gè)像素的掃描,將每個(gè)像素的alpha通道數(shù)據(jù)從ARGB通道數(shù)據(jù)中分離出來,所有像素的alpha通道數(shù)據(jù)合并成alpha通道文件;3)將剩下所有像素的RGB通道數(shù)據(jù)合并為RGB通道文件,并采用哈夫曼編碼對這一 RGB通道文件進(jìn)行有損壓縮,生成RGB壓縮文件,RGB壓縮文件的圖片質(zhì)量可以根據(jù)需求進(jìn)行調(diào)整;4 )將步驟2 )中分離出的alpha通道文件和步驟3 )中的RGB壓縮文件以二進(jìn)制的格式合并到一個(gè)中間文件中;這個(gè)中間文件的內(nèi)容包括圖片寬度,為4個(gè)字節(jié);像素總數(shù),為4個(gè)字節(jié);alpha通道文件,RGB壓縮文件;5)將合并后的中間文件再次采用deflate算法進(jìn)行無損壓縮,生成圖片數(shù)據(jù)的壓縮數(shù)據(jù)。在向用戶端2傳送前,需將圖片數(shù)據(jù)的壓縮數(shù)據(jù)和對應(yīng)的其他文件合并為資源數(shù)據(jù)的壓縮文件傳送。配合于圖片壓縮處理器13中的二次壓縮,在用戶端2的資源緩存21中對圖片數(shù)據(jù)的壓縮數(shù)據(jù)進(jìn)行解壓縮a)對壓縮數(shù)據(jù)使用deflate算法解壓縮得到由二進(jìn)制數(shù)據(jù)組成的中間文件;b)在中間文件中讀取4個(gè)字節(jié)的圖片寬度和4個(gè)字節(jié)的像素總數(shù),其中圖片高度=像素總數(shù)/圖片寬度;c)按照圖片高度和圖片寬度在資源緩存21中創(chuàng)建一個(gè)空白圖片; d)根據(jù)像素總數(shù)計(jì)算出由所有像素的alpha通道數(shù)據(jù)組成的alpha通道文件的長度,再讀取相應(yīng)長度的數(shù)據(jù);剩余的數(shù)據(jù)為經(jīng)過有損壓縮的RGB壓縮文件,使用哈夫曼編碼解碼該RGB壓縮文件,生成RGB通道文件;e)將alpha通道文件中的alpha通道數(shù)據(jù)和RGB通道文件中對應(yīng)的RGB通道數(shù)據(jù)合并為像素值,將每個(gè)像素值按照先后順序填入步驟c)已經(jīng)創(chuàng)建好的空白圖片中,還原成圖片數(shù)據(jù),將圖片數(shù)據(jù)和其他文件合并為資源數(shù)據(jù)。用戶端2中的資源緩存21用于在資源管理器22的管理下,保存或刪除一些資源請求對應(yīng)的默認(rèn)資源和資源數(shù)據(jù),其中默認(rèn)資源可在應(yīng)用層23上生成用戶可簡單操作的界面,以保證用戶操作的連貫性。在本實(shí)施例中,默認(rèn)資源可以是預(yù)先加載好的一張圖片,也可以是由程序代碼繪制出來的圖片,其作用是在請求的資源沒有加載上來的時(shí)候做為默認(rèn)畫面顯示,使用戶不至于對界面無法進(jìn)行操作。當(dāng)資源請求所對應(yīng)的壓縮數(shù)據(jù)在資源緩存2 I中解壓縮后得到資源數(shù)據(jù)時(shí),將資源數(shù)據(jù)替換默認(rèn)資源進(jìn)行存儲,并將該資源數(shù)據(jù)返回應(yīng)用層23中進(jìn)行顯示。資源管理器22用于接收應(yīng)用層23的資源請求,啟動加載過程,其中加載過程包括在資源緩存21中查找該資源請求對應(yīng)的資源數(shù)據(jù);如果資源緩存21中不存在資源數(shù)據(jù),則按照資源請求的圖片大小向應(yīng)用層23返回一個(gè)默認(rèn)資源,同時(shí)將該默認(rèn)資源儲存在資源緩存21中占位,然后向游戲服務(wù)器I的處理器11發(fā)出加載請求;當(dāng)資源數(shù)據(jù)成功加載到資源緩存21中后,用資源數(shù)據(jù)替換之前的默認(rèn)資源,同時(shí)更新資源數(shù)據(jù)的資源引用,用于響應(yīng)下次關(guān)于相同資源數(shù)據(jù)的資源請求。應(yīng)用層23用于與用戶進(jìn)行交互,將資源數(shù)據(jù)生成的界面向用戶展示,用戶在界面上選擇相應(yīng)的應(yīng)用程序,通過應(yīng)用層23轉(zhuǎn)換成資源請求向資源管理器22發(fā)送。當(dāng)用戶通過應(yīng)用層23向資源管理器22在短時(shí)間內(nèi)發(fā)出多個(gè)加載請求時(shí),在網(wǎng)絡(luò)帶寬有限的情況下,為了避免多個(gè)加載請求之間發(fā)生沖突,本發(fā)明在資源管理器22中對加載請求進(jìn)行優(yōu)先級劃分。優(yōu)先級高的加載請求即使發(fā)出時(shí)間靠后,也會先啟動加載過程,例如在游戲里面用戶的造型、地圖的優(yōu)先級高,其他的特效的優(yōu)先級低,這樣不影響用戶的操作。如圖3所示,當(dāng)一個(gè)新的加載請求發(fā)出時(shí),判斷加載隊(duì)列中是否有在先的加載請求,如果加載隊(duì)列中已經(jīng)有在先的加載請求,則判斷所有加載請求的優(yōu)先級,如果新的加載請求優(yōu)先級高,則直接插入加載隊(duì)列的前面,否則按照優(yōu)先級放到加載隊(duì)列的相應(yīng)位置;如果沒有在先的加載請求,則直接將新的加載請求插入加載隊(duì)列的前面;資源管理器22根據(jù)加載隊(duì)列的先后順序向處理器11發(fā)出加載請求。為了有效利用有限的存儲資源,通過資源管理器22資源緩存21中的資源數(shù)據(jù)進(jìn)行引用計(jì)數(shù)管理,刪除長期不引用的資源,以釋放存儲空間。如圖4所示,引用計(jì)數(shù)管理是在資源管理器22中設(shè)置一計(jì)數(shù)器,對資源數(shù)據(jù)的引用次數(shù)進(jìn)行計(jì)數(shù),當(dāng)完成第一次資源請求對應(yīng)的資源數(shù)據(jù)加載時(shí),將內(nèi)存中的默認(rèn)資源更新為加載后的資源數(shù)據(jù)。之后當(dāng)有資源請求時(shí)或銷毀請求時(shí),更新計(jì)數(shù)器的計(jì)數(shù),即每發(fā)出一次資源請求,計(jì)數(shù)器的計(jì)數(shù)+1并返回資源引用;每發(fā)出一次銷毀請求,計(jì)數(shù)器的計(jì)數(shù)-I并判斷此時(shí)計(jì)數(shù)器的計(jì)數(shù)是否>0 ;當(dāng) 計(jì)數(shù)為O時(shí),銷毀資源緩存21中的資源數(shù)據(jù)。應(yīng)當(dāng)指出,以上所述具體實(shí)施方式
可以使本領(lǐng)域的技術(shù)人員更全面地理解本發(fā)明創(chuàng)造,但不以任何方式限制本發(fā)明創(chuàng)造。因此,盡管本說明書參照附圖和實(shí)施例對本發(fā)明創(chuàng)造已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明創(chuàng)造進(jìn)行修改或者等同替換,總之,一切不脫離本發(fā)明創(chuàng)造的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明創(chuàng)造專利的保護(hù)范圍當(dāng)中。
權(quán)利要求
1.一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),包括服務(wù)器和用戶端,其特征在于所述用戶端包括相互連接的資源緩存、資源管理器和應(yīng)用層;所述資源管理器接收所述應(yīng)用層發(fā)出的資源請求,并根據(jù)所述資源請求在所述資源緩存中查找對應(yīng)的資源數(shù)據(jù),查找到所述資源數(shù)據(jù)后,將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用;當(dāng)所述資源緩存中沒有所述資源數(shù)據(jù)時(shí),所述資源管理器中生成一個(gè)默認(rèn)資源,將所述默認(rèn)資源返回所述應(yīng)用層,并將所述默認(rèn)資源儲存在所述資源緩存中占位,然后向所述服務(wù)器發(fā)出加載請求;當(dāng)所述資源數(shù)據(jù)由所述服務(wù)器加載到所述資源緩存中,用所述資源數(shù)據(jù)替換所述默認(rèn)資源,并將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用。
2.如權(quán)利要求I所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),其特征在于所述資源數(shù)據(jù)包括帶有ARGB通道數(shù)據(jù)的圖片數(shù)據(jù)。
3.如權(quán)利要求2所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),其特征在于所述服務(wù)器中包括用于對所述圖片數(shù)據(jù)進(jìn)行壓縮的圖像壓縮處理器,在所述圖像壓縮處理器中對所述圖片數(shù)據(jù)進(jìn)行逐像素的掃描,將每個(gè)像素的alpha通道數(shù)據(jù)分離出來,所有像素的alpha通道數(shù)據(jù)合并成alpha通道文件;所有像素的RGB通道數(shù)據(jù)進(jìn)行有損壓縮,生成RGB壓縮文件;所述alpha通道文件和所述RGB壓縮文件合并到一個(gè)中間文件中;將所述中間文件進(jìn)行無損壓縮,生成壓縮數(shù)據(jù)。
4.如權(quán)利要求3所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),其特征在于所述中間文件內(nèi)容包括圖片寬度、像素總數(shù)、alpha通道文件、RGB壓縮文件。
5.如權(quán)利要求3或4所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),其特征在于所述壓縮數(shù)據(jù)輸入所述資源緩存中進(jìn)行解壓縮,生成所述資源數(shù)據(jù)。
6.如權(quán)利要求I或2或3或4所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),其特征在于所述資源管理器中對所述加載請求進(jìn)行優(yōu)先級劃分,所述加載請求在加載隊(duì)列中按照優(yōu)先級的順序排序。
7.如權(quán)利要求I或2或3或4或6所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng),其特征在于所述資源管理器中設(shè)置計(jì)數(shù)器,當(dāng)所述應(yīng)用層發(fā)出一次資源請求時(shí)所述計(jì)數(shù)器的計(jì)數(shù)+1;當(dāng)所述應(yīng)用層發(fā)出一次銷毀請求,計(jì)數(shù)器的計(jì)數(shù)-I并判斷此時(shí)計(jì)數(shù)器的計(jì)數(shù)是否>0 ;當(dāng)計(jì)數(shù)為O時(shí),所述資源管理器指示所述資源緩存銷毀資源數(shù)據(jù)。
8.一種實(shí)現(xiàn)如權(quán)利要求I 7所述的網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)的加載方法,其步驟包括 1)在用戶端設(shè)置相互連接的資源緩存、資源管理器和應(yīng)用層,所述資源管理器接收所述應(yīng)用層發(fā)出的資源請求,并將所述資源請求輸入所述資源緩存中查找對應(yīng)的資源數(shù)據(jù); 2)如果所述資源緩存中保存了所述資源數(shù)據(jù),則將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用; 3)如果所述資源緩存中沒有保存所述資源數(shù)據(jù),在所述資源管理器中生成一個(gè)默認(rèn)資源,將所述默認(rèn)資源返回所述應(yīng)用層,并將所述默認(rèn)資源儲存在所述資源緩存中占位; 4)所述資源管理器向服務(wù)器發(fā)出加載請求; 5)所述資源數(shù)據(jù)從所述服務(wù)器加載到所述資源緩存中,用所述資源數(shù)據(jù)替換所述默認(rèn)資源,并將所述資源數(shù)據(jù)返回所述應(yīng)用層中使用。
9.如權(quán)利要求8所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載方法,其特征在于所述資源數(shù)據(jù)包括帶有ARGB通道數(shù)據(jù)的圖片數(shù)據(jù)。
10.如權(quán)利要求9所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載方法,其特征在于所述圖片數(shù)據(jù)在所述服務(wù)器中進(jìn)行壓縮,所述壓縮步驟包括 A)對所述圖片數(shù)據(jù)進(jìn)行逐像素的掃描,將每個(gè)像素的alpha通道數(shù)據(jù)分離出來; B)所有像素的alpha通道數(shù)據(jù)合并成alpha通道文件; C)所有像素的RGB通道數(shù)據(jù)進(jìn)行有損壓縮,生成RGB壓縮文件; D)所述alpha通道文件和所述RGB壓縮文件合并到一個(gè)中間文件中;將所述中間文件進(jìn)行無損壓縮,生成壓縮數(shù)據(jù)。
11.如權(quán)利要求10所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載方法,其特征在于所述中間文件包括圖片寬度、像素總數(shù)、alpha通道文件、RGB壓縮文件。
12.如權(quán)利要求11所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載方法,其特征在于所述壓縮數(shù)據(jù)在所述資源緩存中進(jìn)行解壓縮,得到資源數(shù)據(jù),所述解壓縮的步驟包括 a)對所述壓縮數(shù)據(jù)解壓縮得到所述中間文件; b)在所述中間文件中讀取所述圖片寬度和所述像素總數(shù),圖片高度=像素總數(shù)/圖片寬度; c)按照所述圖片高度和所述圖片寬度在所述資源緩存中創(chuàng)建一個(gè)空白圖片; d)讀取所述alpha通道文件和所述RGB壓縮文件,對所述RGB壓縮文件解壓縮,生成RGB通道文件; e)將所述alpha通道文件中的alpha通道數(shù)據(jù)和所述RGB通道文件中的RGB通道數(shù)據(jù)合并為像素值,將所述像素值填入所述空白圖片中,還原成所述圖片數(shù)據(jù)。
13.如權(quán)利要求8 12之一所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載方法,其特征在于所述資源管理器中對所述加載請求進(jìn)行優(yōu)先級劃分,所述加載請求在加載隊(duì)列中按照優(yōu)先級的順序排序。
14.如權(quán)利要求8 12之一所述的一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載方法,其特征在于所述資源管理器中設(shè)置計(jì)數(shù)器,當(dāng)所述應(yīng)用層發(fā)出一次資源請求時(shí)所述計(jì)數(shù)器的計(jì)數(shù)+1 ;當(dāng)所述應(yīng)用層發(fā)出一次銷毀請求,計(jì)數(shù)器的計(jì)數(shù)-I并判斷此時(shí)計(jì)數(shù)器的計(jì)數(shù)是否>0 ;當(dāng)計(jì)數(shù)為O時(shí),所述資源管理器指示所述資源緩存銷毀資源數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種網(wǎng)頁資源數(shù)據(jù)實(shí)時(shí)加載系統(tǒng)及方法,包括服務(wù)器和用戶端,其中用戶端包括相互連接的資源緩存、資源管理器和應(yīng)用層;資源管理器接收應(yīng)用層發(fā)出的資源請求,并將資源請求輸入資源緩存中查找對應(yīng)的資源數(shù)據(jù),將資源數(shù)據(jù)返回應(yīng)用層中使用;當(dāng)所述資源緩存中沒有資源數(shù)據(jù)時(shí),資源管理器中生成一個(gè)默認(rèn)資源,將默認(rèn)資源返回應(yīng)用層,并將默認(rèn)資源儲存在資源緩存中占位,然后向服務(wù)器發(fā)出加載請求;當(dāng)資源數(shù)據(jù)由服務(wù)器加載到資源緩存中,用資源數(shù)據(jù)替換默認(rèn)資源,并將資源數(shù)據(jù)返回應(yīng)用層中使用。由于在應(yīng)用層向資源管理器發(fā)出資源請求后、資源管理器向服務(wù)器發(fā)出加載請求前的這個(gè)時(shí)間段中,資源管理器生成一個(gè)用戶可進(jìn)行簡單操作的默認(rèn)資源返回給應(yīng)用層,以安撫用戶因長時(shí)間等待而產(chǎn)生的焦躁情緒。
文檔編號G06F17/30GK102831182SQ201210271530
公開日2012年12月19日 申請日期2012年7月31日 優(yōu)先權(quán)日2012年7月31日
發(fā)明者朱希順, 石波濤, 張春平 申請人:北京天神互動科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1