(2)資源包下載模塊判斷是否已經(jīng)存在資源訪問請求相對應(yīng)的資源包,若是,則將 相應(yīng)的資源包發(fā)送給客戶端;具體的,資源包設(shè)有資源包頭、資源信息區(qū)、資源內(nèi)容區(qū),資源 包下載模塊對資源包頭和網(wǎng)頁的URL進行搜索和對比,判斷已經(jīng)下載的資源包中是否已經(jīng) 存在客戶端請求訪問的相對應(yīng)的資源包,資源包下載模塊只搜索對比資源包頭,大大節(jié)省 了搜索時間;否則,如果客戶端請求訪問的資源包不存在,則進入步驟(3);另外,在本步驟 中,資源包下載模塊已經(jīng)下載的資源包存儲在客戶端的儲存裝置中。
[0055] (3)如果資源包下載模塊并沒有搜索到客戶端請求訪問的資源包,則資源包下載 模塊根據(jù)資源訪問請求連接服務(wù)器,資源包下載模塊通過HTTP協(xié)議向服務(wù)器發(fā)送資源訪 問請求,資源訪問請求中包含某一個網(wǎng)頁的URL,服務(wù)器會根據(jù)該網(wǎng)頁的URL來確認相應(yīng)的 資源包,并與資源包下載模塊建立一個HTTP長連接,保持長時間的下載通道,資源包下載 模塊下載相應(yīng)的資源包;資源包下載模塊下載資源包仍采用通用的HTTP下載資源的流程, 下載的資源包包含多個資源的內(nèi)容。
[0056] 具體的,在步驟(3)中,服務(wù)器預(yù)先對HTTP資源進行打包得到相應(yīng)的資源包。
[0057] 服務(wù)器采用分頁顯示模式,并將每個分頁所包含的資源進行打包。資源的統(tǒng)一資 源定位符中包含pageindex參數(shù)。服務(wù)器利用pageindex參數(shù)將一個長網(wǎng)頁的所有資源進 行分頁,可分為pageindex=l、pageindex= 2、pageindex= 3、pageindex= 4 等等多個 分頁,具體的分頁的數(shù)量可自行設(shè)定。
[0058] 當客戶端請求訪問pageindex= 1的網(wǎng)頁時,資源包下載模塊會向服務(wù)器請求下 載pageindex= 1的資源包,并將該資源包發(fā)送給客戶端。
[0059] (4)資源包使用模塊解析資源包,并提取資源包中的文件信息;
[0060] 步驟(4)中資源包使用模塊解析資源包具體包括以下步驟:
[0061] (401)獲取資源包頭,得到打包資源的數(shù)量;
[0062] (402)遍歷資源信息區(qū)的所有打包資源的名稱、數(shù)據(jù)長度、數(shù)據(jù)偏移量和校驗值, 并提取資源內(nèi)容區(qū)中相應(yīng)的數(shù)據(jù)內(nèi)容。
[0063] 此時,客戶端顯示pageindex= 1的網(wǎng)頁供用戶查看,一般情況下,用戶點擊某一 個網(wǎng)頁,當網(wǎng)頁打開后,用戶會直接觀看該網(wǎng)頁,當其瀏覽完當前的網(wǎng)頁后,再點擊下一頁, 然后現(xiàn)有的資源下載方法需要客戶端重新向服務(wù)器發(fā)送請求,然后下載資源,相對來說,浪 費了很多時間,讓用戶體驗很差。
[0064] 而本發(fā)明提供了資源預(yù)下載方法,如步驟(5)所示,資源包下載模塊會提前下載 資源包,當用戶點擊下一頁時,客戶端可直接解析資源包,減少了等待下載的時間,會讓用 戶感覺使用很順暢。
[0065] (5)資源包下載模塊為資源包設(shè)置標識符,并連接服務(wù)器,下載資源包相鄰的資源 包;資源包下載模塊為資源設(shè)置標識符,方便對其進行區(qū)分。
[0066] 當客戶端正在顯示pageindex= 1的網(wǎng)頁時,資源包下載模塊會預(yù)先下載鄰近的 資源包。預(yù)下載的資源包的個數(shù),可以根據(jù)系統(tǒng)和網(wǎng)絡(luò)的具體情況決定。例如,當預(yù)下載資 源包個數(shù)為2時,資源包下載模塊會預(yù)先下載pageindex= 2及pageindex= 3的資源包, 預(yù)下載的好處是當用戶從第一頁跳轉(zhuǎn)到第二頁時,第二頁的資源包可能已經(jīng)下載完成。這 時,按照優(yōu)先從資源包中加載資源的流程,第二頁內(nèi)容呈現(xiàn)的時候,瀏覽器不需要再連接服 務(wù)器進行資源的下載,大大提高了響應(yīng)速度,增加了用戶體驗。而當用戶翻頁到第2頁時, 資源包下載模塊會進一步預(yù)先下載第pageindex=4的資源包。
[0067] 客戶端的內(nèi)存空間是有限的,隨著用戶翻頁的進行,資源包會累積越來越多,長時 間運行的情況下,需要考慮資源包的回收。否則,客戶端的內(nèi)存空間會被完全消耗完畢。具 體的如步驟(6)所示。
[0068] (6)資源包下載模塊根據(jù)算法將不需要的資源包刪除,并釋放該資源包占用的內(nèi) 存空間。
[0069] 資源包下載模塊設(shè)有資源包管理列表,資源包管理列表包括標識符、下載時間、下 載狀態(tài)、使用次數(shù)、最后使用時間和使用狀態(tài)。
[0070] 資源包下載模塊可以根據(jù)最近最久未使用算法,從資源包管理列表確定不需要的 資源包,并刪除該資源包。資源包下載模塊資源包的"使用"是指瀏覽器從資源包中加載了 一個資源的內(nèi)容。
[0071] 綜上所述,本發(fā)明的好處在于:
[0072] 1、資源打包下載
[0073] 避免了每個資源都要連接一次的時間開銷
[0074] 2、資源包預(yù)下載
[0075] 在用戶翻頁的時候,直接從已經(jīng)預(yù)下載的資源包中加載數(shù)據(jù),避免了跟服務(wù)器的 連接,加快了系統(tǒng)響應(yīng)時間,增加了用戶體驗。
[0076] 3、資源包管理和回收
[0077] 采用最近最久未使用算法,避免了客戶端內(nèi)存空間被消耗完的風(fēng)險,同時保證了 鄰近資源包瀏覽的速度。
[0078] 以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1. 一種資源管理方法,包括客戶端和服務(wù)器端,所述客戶端設(shè)有資源包下載模塊和資 源包使用模塊,其特征在于,包括以下步驟: (1) 所述資源包使用模塊向所述資源包下載模塊發(fā)送資源訪問請求; (2) 所述資源包下載模塊判斷是否已經(jīng)存在資源訪問請求相對應(yīng)的資源包,若是,則將 相應(yīng)的資源包發(fā)送給所述資源包使用模塊;否則,進入步驟(3); (3) 所述資源包下載模塊根據(jù)所述資源訪問請求連接所述服務(wù)器,下載相應(yīng)的資源包 并發(fā)送給所述資源包使用模塊; (4) 所述客資源包使用模塊解析所述資源包,并提取所述資源包中的文件信息; (5) 所述資源包下載模塊為所述資源包設(shè)置標識符,并連接服務(wù)器,下載所述資源包相 鄰的資源包; (6) 所述資源包下載模塊根據(jù)算法將不需要的資源包刪除,并釋放該資源包占用的內(nèi) 存空間。2. 根據(jù)權(quán)利要求1所述的一種資源管理方法,其特征在于,步驟(3)中,所述服務(wù)器預(yù) 先對HTTP資源進行打包得到相應(yīng)的資源包。3. 根據(jù)權(quán)利要求2所述的一種資源管理方法,其特征在于,所述資源打包方法包括以 下步驟: (a) 創(chuàng)建文件列表,所述文件列表用于提供打包資源的路徑信息; (b) 遍歷文件列表,獲取打包資源,統(tǒng)計打包資源的數(shù)量、名稱、數(shù)據(jù)長度和數(shù)據(jù)內(nèi)容; (c) 將打包資源的數(shù)量記錄在所述資源包的資源包頭中,并將打包資源的名稱和數(shù)據(jù) 長度記錄在所述資源包的資源信息區(qū),將打包資源的數(shù)據(jù)內(nèi)容復(fù)制在所述資源包的資源內(nèi) 容區(qū); (d) 按照資源包頭、資源信息區(qū)、資源內(nèi)容區(qū)的順序進行封裝。4. 根據(jù)權(quán)利要求3所述的一種資源管理方法,其特征在于,所述資源包頭還包括標識 值、第一保留值、版本號、文件生成時間、第二保留值和固定值; 所述標識值用于標識所述資源包是由上述資源打包方法打包生成; 所述第一保留值和所述第二保留值均用于版本升級或格式擴充; 所述固定值用于標識所述資源包頭結(jié)束。5. 根據(jù)權(quán)利要求3所述的一種資源管理方法,其特征在于,所述資源信息區(qū)還包括數(shù) 據(jù)偏移量和校驗值。6. 根據(jù)權(quán)利要求1、3、4或5任一項所述的一種資源管理方法,其特征在于,步驟(4)中 所述資源包使用模塊解析所述資源包具體包括以下步驟: (401) 獲取所述資源包頭,得到打包資源的數(shù)量; (402) 遍歷資源信息區(qū)的所有打包資源的名稱、數(shù)據(jù)長度、數(shù)據(jù)偏移量和校驗值,并提 取所述資源內(nèi)容區(qū)中相應(yīng)的數(shù)據(jù)內(nèi)容。7. 根據(jù)權(quán)利要求1所述的一種資源管理方法,其特征在于,所述服務(wù)器采用分頁顯示 模式,并將每個分頁所包含的資源進行打包。8. 根據(jù)權(quán)利要求7所述的一種資源管理方法,其特征在于,所述資源的統(tǒng)一資源定位 符中包含pageindex參數(shù)。9. 根據(jù)權(quán)利要求1所述的一種資源管理方法,其特征在于,所述資源包下載模塊設(shè)有
【專利摘要】本發(fā)明公開了一種資源管理方法,資源包使用模塊向資源包下載模塊發(fā)送資源訪問請求;資源包下載模塊判斷是否存在相應(yīng)的資源包,若是,則將相應(yīng)的資源包發(fā)送給資源包使用模塊;否則,資源包下載模塊連接服務(wù)器,下載相應(yīng)的資源包并發(fā)送給資源包使用模塊;資源包使用模塊解析資源包,并提取資源包中的文件信息;資源包下載模塊連接服務(wù)器,預(yù)下載相鄰的資源包;資源包下載模塊將不需要的資源包刪除,并釋放內(nèi)存空間。本發(fā)明避免了每個資源都要連接一次的時間開銷,直接從已經(jīng)預(yù)下載的資源包中加載數(shù)據(jù),避免了跟服務(wù)器的連接,加快了系統(tǒng)響應(yīng)時間,增加了用戶體驗;且避免了客戶端內(nèi)存空間被消耗完的風(fēng)險。
【IPC分類】H04L29/08
【公開號】CN105282238
【申請?zhí)枴緾N201510591390
【發(fā)明人】徐佳宏, 朱呂亮, 連重明
【申請人】深圳市茁壯網(wǎng)絡(luò)股份有限公司
【公開日】2016年1月27日
【申請日】2015年9月16日