[發(fā)明專利]應用程序運行方法、裝置及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201010100336.7 | 申請日: | 2010-01-22 |
| 公開(公告)號: | CN102135892A | 公開(公告)日: | 2011-07-27 |
| 發(fā)明(設計)人: | 朱熠鍔 | 申請(專利權)人: | 北京金山數(shù)字娛樂科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;H04L29/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 趙景平;逯長明 |
| 地址: | 100085 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用程序 運行 方法 裝置 系統(tǒng) | ||
技術領域
本發(fā)明涉及軟件處理技術,具體涉及一種應用程序運行方法、裝置及系統(tǒng)。
背景技術
一個應用程序,其運行時所需的文件通常包含兩部分:程序文件和數(shù)據(jù)文件。而對于大部分應用程序,其數(shù)據(jù)文件的體積通常要比程序模塊文件的體積大。
應用程序體積過大,不僅會占用過多的存儲空間,而且會導致用戶使用軟件時間成本過高。因此,為了滿足不同用戶的應用需求,市面上有很多軟件的瘦身版本,即精簡版本。這些產品大多數(shù)都是針對資源文件的瘦身,一般而言,都是經過特殊定制的。還有一些精簡版本的軟件需要修改原程序的源代碼,重新編譯出新的程序文件,并且刪減部分程序文件和數(shù)據(jù)文件,從而達到瘦身的目的。
這樣的做法主要有以下缺點:
1、需要針對不同的應用程序進行特別定制,無法提供通用的方法。
2、精簡版本的軟件功能受限,如果用戶需要體驗其他功能,需要重新安裝。
發(fā)明內容
本發(fā)明實施例提供一種應用程序運行方法、裝置及系統(tǒng),無需進行專門定制,即可簡單、高效地縮減應用程序安裝包的體積,提供用戶所需功能。
為此,本發(fā)明實施例提供如下技術方案:
一種應用程序運行方法,包括:
創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述信息;
通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;
如果所述應用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊;
將所述數(shù)據(jù)塊加載到內存。
優(yōu)選地,所述加載預先生成的所述應用程序的數(shù)據(jù)文件描述信息包括:
從所述服務器端加載所述應用程序的數(shù)據(jù)文件描述信息。
優(yōu)選地,所述方法還包括:
在創(chuàng)建對應所述應用程序的進程之前,檢查所述應用程序的數(shù)據(jù)文件描述信息是否保存在本地的指定目錄;
如果是,則從所述指定目錄加載所述數(shù)據(jù)文件描述信息;
如果否,則執(zhí)行所述從所述服務器端加載所述應用程序的數(shù)據(jù)文件描述信息的步驟。
優(yōu)選地,所述方法還包括:
抽取所述應用程序的數(shù)據(jù)文件,生成所述數(shù)據(jù)文件描述信息;
將所述數(shù)據(jù)文件描述信息保存到本地的指定目錄和/或所述服務器端,并將所述數(shù)據(jù)文件保存到所述服務器端。
優(yōu)選地,所述通過所述進程監(jiān)聽所述應用程序的I/O請求包括:
通過所述進程加載I/O鉤子函數(shù);
通過所述I/O鉤子函數(shù)在所述應用程序運行時監(jiān)聽所述應用程序的I/O請求。
優(yōu)選地,所述根據(jù)所述數(shù)據(jù)文件描述信息從所述服務器端獲取所述應用程序所需的數(shù)據(jù)塊包括:
根據(jù)所述數(shù)據(jù)文件描述信息檢查所述數(shù)據(jù)文件是否存在;
如果所述數(shù)據(jù)文件存在,則向所述服務器端發(fā)送數(shù)據(jù)塊下載請求;
接收所述服務器端下發(fā)的所述應用程序所需的數(shù)據(jù)塊。
優(yōu)選地,所述方法還包括:
在向所述服務器端發(fā)送數(shù)據(jù)塊下載請求之前,檢查所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中;
如果是,則從所述映射文件中獲取所述應用程序所需的數(shù)據(jù)塊;
如果否,則執(zhí)行向所述服務器端發(fā)送數(shù)據(jù)塊下載請求的步驟。
優(yōu)選地,所述方法還包括:
接收到所述服務器端下發(fā)的所述應用程序所需的數(shù)據(jù)塊后,將所述數(shù)據(jù)塊保存到所述映射文件中,并更新所述映射文件的頭部信息;
所述檢查所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中包括:通過檢查所述映射文件的頭部信息,確定所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中。
優(yōu)選地,所述方法還包括:
服務器端接收到所述數(shù)據(jù)塊下載請求后,對所述請求進行驗證并檢測請求的數(shù)據(jù)塊是否存在;
如果驗證通過并且所述數(shù)據(jù)塊存在,則將所述數(shù)據(jù)塊發(fā)送給請求方。
一種應用程序運行裝置,包括:
進程創(chuàng)建單元,用于創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述信息;
監(jiān)聽單元,用于通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;
網絡通信單元,用于在所述監(jiān)聽單元確定所述應用程序要訪問的文件類型為數(shù)據(jù)文件后,根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊;
加載單元,用于將所述數(shù)據(jù)塊加載到內存。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京金山數(shù)字娛樂科技有限公司,未經北京金山數(shù)字娛樂科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010100336.7/2.html,轉載請聲明來源鉆瓜專利網。





