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

應用程序運行方法、裝置及系統(tǒng)的制作方法

文檔序號:6597608閱讀:207來源:國知局
專利名稱:應用程序運行方法、裝置及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及軟件處理技術,具體涉及一種應用程序運行方法、裝置及系統(tǒng)。
背景技術
一個應用程序,其運行時所需的文件通常包含兩部分程序文件和數(shù)據(jù)文件。而對 于大部分應用程序,其數(shù)據(jù)文件的體積通常要比程序模塊文件的體積大。應用程序體積過大,不僅會占用過多的存儲空間,而且會導致用戶使用軟件時間 成本過高。因此,為了滿足不同用戶的應用需求,市面上有很多軟件的瘦身版本,即精簡版 本。這些產品大多數(shù)都是針對資源文件的瘦身,一般而言,都是經過特殊定制的。還有一些 精簡版本的軟件需要修改原程序的源代碼,重新編譯出新的程序文件,并且刪減部分程序 文件和數(shù)據(jù)文件,從而達到瘦身的目的。這樣的做法主要有以下缺點1、需要針對不同的應用程序進行特別定制,無法提供通用的方法。2、精簡版本的軟件功能受限,如果用戶需要體驗其他功能,需要重新安裝。

發(fā)明內容
本發(fā)明實施例提供一種應用程序運行方法、裝置及系統(tǒng),無需進行專門定制,即可 簡單、高效地縮減應用程序安裝包的體積,提供用戶所需功能。為此,本發(fā)明實施例提供如下技術方案一種應用程序運行方法,包括創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述 fn息;通過所述進程監(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ù)塊加載到內存。優(yōu)選地,網絡通信單元還用于從所述服務器端下載所述數(shù)據(jù)文件描述信息,并將 所述數(shù)據(jù)文件描述信息發(fā)送給所述進程創(chuàng)建單元。優(yōu)選地,所述裝置還包括存儲單元,用于在本地保存所述數(shù)據(jù)文件描述信息;所述網絡通信單元,還用于將下載的所述數(shù)據(jù)文件描述信息保存到所述存儲單元中;所述進程創(chuàng)建單元,還用于在創(chuàng)建對應所述應用程序的進程之前,檢查所述應用 程序的數(shù)據(jù)文件描述信息是否保存在所述存儲單元中;如果是,則從所述存儲單元中提取 并加載所述應用程序的數(shù)據(jù)文件描述信息;如果不是,則向所述網絡通信單元發(fā)送通知;所述網絡通信單元在接收到所述進程創(chuàng)建單元發(fā)送的通知后從所述服務器端下 載所述數(shù)據(jù)文件描述信息。 優(yōu)選地,所述裝置還包括數(shù)據(jù)文件抽取單元,用于抽取所述應用程序的數(shù)據(jù)文件,生成所述數(shù)據(jù)文件描述 信息,并將所述數(shù)據(jù)文件描述信息保存到所述存儲單元和/或通過所述網絡通信單元將所 述數(shù)據(jù)文件描述信息上傳給所述服務器端。優(yōu)選地,所述裝置還包括檢查單元,用于在所述監(jiān)聽單元確定所述應用程序要訪問的文件類型為數(shù)據(jù)文件 后,根據(jù)所述數(shù)據(jù)文件描述信息檢查所述數(shù)據(jù)文件是否存在;所述網絡通信單元,具體用于在所述檢查單元檢查到所述數(shù)據(jù)文件存在后,從所 述服務器端獲取所述應用程序所需的數(shù)據(jù)塊。優(yōu)選地,所述裝置還包括映射單元,用于保存數(shù)據(jù)塊的映射文件;數(shù)據(jù)塊提取單元,用于從所述映射單元中提取所述應用程序所需用數(shù)據(jù)塊;所述檢查單元,還用于在檢查到所述數(shù)據(jù)文件存在后,進一步檢查所述應用程序 所需的數(shù)據(jù)塊是否保存在所述映射文件中;如果是,則向所述數(shù)據(jù)塊提取單元發(fā)送通知; 如果否,則向所述網絡通信單元發(fā)送通知;所述數(shù)據(jù)塊提取單元,具體用于在收到所述檢查單元發(fā)送的通知后,從所述映射 單元保存的映射文件中提取所述應用程序所需的數(shù)據(jù)塊,并將所述數(shù)據(jù)發(fā)送給所述加載單 元;所述網絡通信單元,具體用于在收到所述檢查單元發(fā)送的通知后,從所述服務器 端獲取所述應用程序所需的數(shù)據(jù)塊,將所述數(shù)據(jù)塊發(fā)送給所述加載單元,并將所述數(shù)據(jù)塊 保存到所述映射文件中,同步更新所述映射文件的頭部信息。所述檢查單元通過檢查所述映射文件的頭部信息,確定所述應用程序所需的數(shù)據(jù) 塊是否保存在本地的映射文件中。一種應用程序加載系統(tǒng),包括客戶端和服務器端;所述服務器端,用于保存應用程序所需的數(shù)據(jù)文件的各數(shù)據(jù)塊;所述客戶端,用于創(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)選地,所述客戶端通過向所述服務器端發(fā)送數(shù)據(jù)文件請求從所述服務器端獲取 所述應用程序所需的數(shù)據(jù)塊;所述服務器端,還用于接收到所述數(shù)據(jù)文件請求后,對所述請求進行驗證并檢測請求的數(shù)據(jù)文件是否存在;如果驗證通過并且所述數(shù)據(jù)文件存在,則將所述數(shù)據(jù)文件發(fā)送給所述客戶端。一種計算機可讀存儲介質,包括計算機程序代碼,該計算機程序代碼由一個計算 機單元執(zhí)行,使得該計算機單元創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述 fn息;通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序的I/O請 求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;如果所述應用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息 從服務器端獲取所述應用程序所需的數(shù)據(jù)塊;將所述數(shù)據(jù)塊加載到內存。本發(fā)明實施例應用程序運行方法、裝置及系統(tǒng),在客戶端,通過加載預先生成的所 述應用程序的數(shù)據(jù)文件描述信息,并監(jiān)聽所述應用程序的I/O請求,在監(jiān)聽到應用程序的 I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型,并在所述應用程序要 訪問的文件類型為數(shù)據(jù)文件時,根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序 所需的數(shù)據(jù)塊,將所述數(shù)據(jù)塊加載到內存。這樣,可以將應用程序的程序文件和數(shù)據(jù)文件相 分離保存,使用戶終端僅安裝應用程序的程序模塊文件,而數(shù)據(jù)文件可保存在外網,根據(jù)用 戶需要下載安裝,從而有效地減少了應用程序的體積,節(jié)省了用戶終端的存儲空間。利用本發(fā)明實施例的方法無需進行軟件精簡版本的專門定制,即可簡單、高效地 縮減應用程序安裝包的體積,提供用戶所需功能。


圖1是本發(fā)明實施例應用程序運行方法的流程圖;圖2是本發(fā)明實施例應用程序運行裝置的一種結構示意圖;圖3是本發(fā)明實施例應用程序運行裝置的另一種結構示意圖;圖4是本發(fā)明實施例應用程序運行裝置的另一種結構示意圖;圖5是本發(fā)明實施例應用程序運行裝置的另一種結構示意圖。
具體實施例方式為了使本技術領域的人員更好地理解本發(fā)明實施例的方案,下面結合附圖和實施 方式對本發(fā)明實施例作進一步的詳細說明。本發(fā)明實施例應用程序運行方法、裝置及系統(tǒng),針對上述現(xiàn)有技術存在的缺點,考 慮到應用程序體積過大主要是由數(shù)據(jù)文件的體積過大引起的這一特點,將應用程序的程序 文件和數(shù)據(jù)文件相分離保存。在客戶端,通過加載預先生成的所述應用程序的數(shù)據(jù)文件描 述信息,并監(jiān)聽所述應用程序的I/O請求,在監(jiān)聽到應用程序的I/O請求后,根據(jù)所述I/O 請求確定所述應用程序要訪問的文件類型,并在所述應用程序要訪問的文件類型為數(shù)據(jù)文 件時,根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊,將所述數(shù) 據(jù)塊加載到內存。從而可以使用戶終端僅安裝應用程序的程序模塊文件,而數(shù)據(jù)文件可保 存在外網,根據(jù)用戶需要下載安裝,有效地減少了應用程序的體積,節(jié)省了用戶終端的存儲空間,而且無需進行軟件精簡版本的專門定制,即可簡單、高效地縮減應用程序安裝包的體 積,提供用戶所需功能。如圖1所示,是本發(fā)明實施例應用程序運行方法的流程圖,包括以下步驟步驟101,創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù) 文件描述信息。所述數(shù)據(jù)文件描述信息可以通過預先抽取所述應用程序的數(shù)據(jù)文件來生成,該抽 取過程可以在已經安裝好所述應用程序的一個終端上進行,所述終端可以是運行所述應用 程序的終端,也可以是其他終端。例如,假設在一個終端上部署了 wps的安裝包,wps的安裝目錄為C:\Pr0gram Files\Kingsoft\WPS Office Personal,則可以通過以下過程生成對應該wps的數(shù)據(jù)文件 描述信息首先遍歷該目錄下的文件夾以及文件,分析在這個目錄下具體有多少文件,哪些 文件是數(shù)據(jù)文件,哪些文件是程序文件。具體地,可以根據(jù)文件名及其擴展名來區(qū)分程序 文件和數(shù)據(jù)文件,比如,在 C:\Program Files\Kingsoft\WPSOffice Personal\office6 目 錄下大部分的dll文件和exe文件都是程序文件,在C: \Program Files\Kingsoft\WPS Office Personal\media目錄下大部分文件都是數(shù)據(jù)文件。除此之外,還可以通過分析文件的二進制格式來確定文件類型。遍歷分析之后,生成一個描述文件,即數(shù)據(jù)文件描述信息。這個描述文件主要包含 如下的信息應用程序包含多少個數(shù)據(jù)文件;每個數(shù)據(jù)文件的文件名、大小、MD5校驗碼等。 除此之外,所述數(shù)據(jù)文件描述信息還可進一步包括每個數(shù)據(jù)文件的映射文件名。其中,所 述映射文件表示在用戶終端存儲的數(shù)據(jù)文件的映射信息,具體將在后面詳細說明。當然,根據(jù)應用需要,還可以有其他信息,本發(fā)明實施例對此不做限定。在本發(fā)明實施例中,可以將所述數(shù)據(jù)文件描述信息保存到本地和/或服務器端, 并將所述數(shù)據(jù)文件保存到服務器端。在創(chuàng)建對應所述應用程序的進程之前,需要檢查所述應用程序的數(shù)據(jù)文件描述信 息是否已保存在本地的指定目錄;如果是,則可以直接從本地加載所述數(shù)據(jù)文件描述信息; 如果否,則可以從所述服務器端下載所述數(shù)據(jù)文件描述信息來加載。進一步,還可以將下載 得到的數(shù)據(jù)文件描述信息保存到本地的指定目錄中。這樣,在以后需要加載所述應用程序 的數(shù)據(jù)文件描述信息時,就可以直接從本地的指定目錄中直接加載了,而無需再從服務端 下載。步驟102,通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序 的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型。具體地,可以由所述進程對所述應用程序的文件的I/O應用程序接口(比如 CreateFiIe、GetFiIeAttributes、SetFiIePointer、CloseHandle、GetFiIeSize、ReadFiIe、 WriteFile)等函數(shù)掛鉤子(Hook),即加載I/O鉤子函數(shù),監(jiān)聽應用程序的I/O請求。在所 述應用程序運行后,如果有1/0請求,則可以被1/0鉤子函數(shù)監(jiān)聽并攔截到。在計算機編程領域,使用鉤子,可以攔截軟件組件間的函數(shù)調用和消息傳遞,進而 改變函數(shù)調用的執(zhí)行結果或消息傳遞的內容。在本發(fā)明實施例中,1/0鉤子函數(shù)監(jiān)聽到所述應用程序的1/0請求后,根據(jù)所述I/0請求得到所述應用程序要訪問的文件句柄,根據(jù)該文件句柄可以得到該文件的相關信息, 比如文件名、大小、屬性(只讀/讀寫等),根據(jù)這些信息即可確定被訪問的文件類型。比如, 所述應用程序的數(shù)據(jù)文件描述信息中包含該文件名,則表明所述應用程序被訪問的文件為 數(shù)據(jù)文件。步驟103,如果所述應用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件 描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊。前面提到,所述數(shù)據(jù)文件描述信息可以包括以下信息每個數(shù)據(jù)文件的文件名、大 小、MD5校驗碼等。因此,所述I/O鉤子函數(shù)根據(jù)所述數(shù)據(jù)文件描述信息即可檢查所述應用 程序需要訪問的數(shù)據(jù)文件是否存在。如果所述數(shù)據(jù)文件描述信息中包含所述應用程序需要 訪問的數(shù)據(jù)文件的文件名,則表明該數(shù)據(jù)文件存在;否則表明該數(shù)據(jù)文件不存在。如果檢查到所述數(shù)據(jù)文件不存在,可以向用戶返回錯誤提示信息;如果檢查到所述數(shù)據(jù)文件存在,則可以從服務器端獲取所述應用程序所需的數(shù)據(jù) 塊。具體地,可以向所述服務器端發(fā)送數(shù)據(jù)塊下載請求;并接收所述服務器端下發(fā)的所述應 用程序所需的數(shù)據(jù)塊。所述的數(shù)據(jù)塊是所述數(shù)據(jù)文件中的一部分數(shù)據(jù)或全部數(shù)據(jù)。所述服務器端接收到所述數(shù)據(jù)文件請求后,還可以對所述請求進行驗證并檢測請 求的數(shù)據(jù)文件是否存在;如果驗證通過并且所述數(shù)據(jù)文件存在,則將所述數(shù)據(jù)文件發(fā)送給 請求方。這樣,可以進一步保證數(shù)據(jù)的安全性。同樣,為了方便后續(xù)應用程序再次運行時對所述數(shù)據(jù)塊的加載需求,并節(jié)省加載 時間成本,在從服務器端獲取到所述應用程序所需的數(shù)據(jù)塊后,可以將其映射到本地的映 射文件中。相應地,在本發(fā)明實施例中,在從服務器端獲取所述應用程序所需的數(shù)據(jù)塊之前, 還可以進一步檢查所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中。如果所述數(shù) 據(jù)塊保存在本地的映射文件中,則可以直接從所述映射文件中提取所述應用程序所需的數(shù) 據(jù)塊;否則從所述服務器端獲取所述應用程序所需的數(shù)據(jù)塊。所述映射文件可以包括頭部信息和數(shù)據(jù)信息兩部分內容。其中頭部信息包括 所述映射文件中包含的各數(shù)據(jù)塊的索引信息,比如,名稱、偏移地址等。這樣,在檢查所述應 用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中時,無需遍歷整個映射文件,只需根據(jù) 該頭部信息中的內容即可確定,從而方便了對所述映射文件中保存的信息的查找。相應地,為了保證映射文件中頭部信息和數(shù)據(jù)信息的對應,在將從所述服務器端 獲取的數(shù)據(jù)塊保存到所述映射文件后,還要同步更新所述映射文件的頭部信息。當然,本發(fā)明實施例中并不僅限定上述這種實現(xiàn)方式,比如,為了進一步節(jié)省用戶 終端的內存空間,也可以不在本地保存所述數(shù)據(jù)塊,應用程序每次運行時,如果需要訪問數(shù) 據(jù)文件,再從服務器端下載相應的數(shù)據(jù)塊。另外,由于應用程序在訪問數(shù)據(jù)文件時,有時可能只需訪問該數(shù)據(jù)文件中的某個 或某些數(shù)據(jù)塊,因此,每次從服務器端下載時,可以將應用程序需要訪問的數(shù)據(jù)文件完整地 下載到本地,也可以只下載所述數(shù)據(jù)文件中所述應用程序所需的數(shù)據(jù)塊。當然,應用程序也 可以不按照數(shù)據(jù)塊的邊界來訪問,有時可能只是訪問一個數(shù)據(jù)塊的一部分內容,有時可能 會訪問連續(xù)的幾個數(shù)據(jù)塊。為此,可以通過一定的算法根據(jù)應用程序要訪問的文件偏移以 及數(shù)據(jù)大小進行確定,并將其轉換為對應的數(shù)據(jù)塊映射到所述映射文件中。也就是說,本地保存的映射文件中的數(shù)據(jù)塊可以和下載的數(shù)據(jù)塊的格式不同,存在一定的映射關系。步驟104,將所述數(shù)據(jù)塊加載到內存,以供所述應用程序使用。本發(fā)明實施例應用程序運行方法,通過加載預先生成的所述應用程序的數(shù)據(jù)文件 描述信息,并監(jiān)聽所述應用程序的I/O請求,在監(jiān)聽到應用程序的I/O請求后,根據(jù)所述I/O 請求確定所述應用程序要訪問的文件類型,并在所述應用程序要訪問的文件類型為數(shù)據(jù)文 件時,根據(jù)所述數(shù)據(jù)文件描述信息獲取所述應用程序所需的數(shù)據(jù)塊,將所述數(shù)據(jù)塊加載到 內存。從而可以使用戶終端僅安裝應用程序的程序模塊文件,而數(shù)據(jù)文件可保存在外網,根 據(jù)用戶需要下載安裝,有效地減少了應用程序的體積,節(jié)省了用戶終端的存儲空間,而且無 需進行軟件精簡版本的專門定制,即可簡單、高效地縮減應用程序安裝包的體積,提供用戶 所需功能。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中, 所述的存儲介質,如R0M/RAM、磁碟、光盤等。相應地,本發(fā)明實施例還提供一種應用程序運行裝置,如圖2所示,是該裝置的一 種結構示意圖。在該實施例中,所述裝置包括進程創(chuàng)建單元201,監(jiān)聽單元202,網絡通信單元 203和加載單元204。其中進程創(chuàng)建單元201,用于創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應 用程序的數(shù)據(jù)文件描述信息。所述數(shù)據(jù)文件描述信息可以是保存在本地的,也可以是保存在服務器端的,當然, 也可以是同時保存在本地和服務器端的。如前面所述,所述數(shù)據(jù)文件描述信息可以由安裝所述應用程序的用戶終端抽取所 述應用程序的數(shù)據(jù)文件來生成,并將其保存在本地和/或服務器端;也可以是由其他用戶 終端生成后保存到服務器端的。所述數(shù)據(jù)文件描述信息的具體內容及生成過程可參照前面 本發(fā)明實施例應用程序運行方法中的描述,在此不再贅述。相應地,所述進程創(chuàng)建單元201在加載所述數(shù)據(jù)文件描述信息時,可以是從本地 加載,或是從所述服務器端獲取并加載,具體過程將在后面詳細說明。需要說明的是,所述應用程序的數(shù)據(jù)文件也需要預先保存在所述服務器端。監(jiān)聽單元202,用于通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述 應用程序的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型。具體地,可以通過所述進程對所述應用程序的文件的I/O應用程序接口(比如 CreateFiIe、GetFiIeAttributes、SetFiIePointer、CloseHandle、GetFiIeSize、ReadFiIe、 WriteFile)等函數(shù)掛鉤子,即加載I/O鉤子函數(shù),監(jiān)聽應用程序的I/O請求。在所述應用程 序運行后,如果有I/O請求,則可以被I/O鉤子函數(shù)監(jiān)聽并攔截到。I/O鉤子函數(shù)監(jiān)聽到所述應用程序的I/O請求后,根據(jù)所述I/O請求確定所述應用 程序要訪問的文件類型。網絡通信單元203,用于在所述監(jiān)聽單元202確定所述應用程序要訪問的文件類 型為數(shù)據(jù)文件后,根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù) 塊。
前面提到,所述應用程序的數(shù)據(jù)文件預先保存在了服務器端,通常由于一個數(shù)據(jù) 文件包含一個或多個數(shù)據(jù)塊,而應用程序在訪問某個數(shù)據(jù)文件時,可能只需要其中的一部 分數(shù)據(jù)塊,因此,在本發(fā)明實施例中,所述數(shù)據(jù)塊獲取單元203可以僅從所述服務器端獲取 所述應用程序所需的數(shù)據(jù)塊。加載單元204,用于將所述數(shù)據(jù)塊加載到內存??梢姡景l(fā)明實施例應用程序運行裝置,通過加載預先生成的所述應用程序的數(shù) 據(jù)文件描述信息,并監(jiān)聽所述應用程序的I/O請求,在監(jiān)聽到應用程序的I/O請求后,根據(jù) 所述I/O請求確定所述應用程序要訪問的文件類型,并在所述應用程序要訪問的文件類型 為數(shù)據(jù)文件時,根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊, 將所述數(shù)據(jù)塊加載到內存。從而可以使用戶終端僅安裝應用程序的程序模塊文件,而將數(shù) 據(jù)文件保存在外網,并根據(jù)用戶需要下載安裝,有效地減少了應用程序的體積,節(jié)省了用戶 終端的存儲空間,而且無需進行軟件精簡版本的專門定制,即可簡單、高效地縮減應用程序 安裝包的體積,提供用戶所需功能。前面提到,所述數(shù)據(jù)文件描述信息可以由其他用戶終端預先生成并保存在服務器 端,為此,在本發(fā)明應用程序運行裝置的一種實施例中,所述網絡通信單元203,還用于從所 述服務器端下載所述數(shù)據(jù)文件描述信息,并將所述數(shù)據(jù)文件描述信息發(fā)送給所述進程創(chuàng)建 單元203。如圖3所示,是本發(fā)明實施例應用程序運行裝置的另一種結構示意圖。與圖2所示實施例不同的是,在該實施例中,所述裝置還包括存儲單元301,用于在本地保存所述數(shù)據(jù)文件描述信息;所述網絡通信單元203,還用于將下載的所述數(shù)據(jù)文件描述信息保存到所述存儲 單元301中。在該實施例中,所述進程創(chuàng)建單元201在第一次加載所述數(shù)據(jù)文件描述信息時, 只能通過所述網絡通信單元203從所述服務器端下載所述數(shù)據(jù)文件描述信息來加載,而在 后續(xù)所述應用程序再次運行時,就可以直接從所述存儲單元301中加載所述數(shù)據(jù)文件描述信息。相應地,所述進程創(chuàng)建單元201,還用于在創(chuàng)建對應所述應用程序的進程之前,檢 查所述應用程序的數(shù)據(jù)文件描述信息是否保存在所述存儲單元301中;如果是,則從所述 存儲單元301中提取并加載所述應用程序的數(shù)據(jù)文件描述信息;如果不是,則向所述網絡 通信單元203發(fā)送通知。所述網絡通信單元203在接收到所述進程創(chuàng)建單元201發(fā)送的通 知后從所述服務器端下載所述數(shù)據(jù)文件描述信息,將所述數(shù)據(jù)文件描述信息返回給所述進 程創(chuàng)建單元201,并將所述數(shù)據(jù)文件描述信息保存到所述存儲單元301中。前面提到,所述數(shù)據(jù)文件描述信息還可以由安裝所述應用程序的用戶終端抽取所 述應用程序的數(shù)據(jù)文件來生成。如圖4所示,是本發(fā)明實施例應用程序運行裝置的另一種結構示意圖。與圖3所示實施例不同的是,在該實施例中,所述裝置還包括數(shù)據(jù)文件抽取單元401,用于抽取所述應用程序的數(shù)據(jù)文件,生成所述數(shù)據(jù)文件描 述信息,并將所述數(shù)據(jù)文件描述信息保存到所述存儲單元301中。當然,在本發(fā)明應用程序運行裝置的另一實施例中,所述數(shù)據(jù)文件抽取單元401還可以通過所述網絡通信單元將所述數(shù)據(jù)文件描述信息上傳給所述服務器端。當然,所述數(shù)據(jù)文件抽取單元401可以同時將所述數(shù)據(jù)文件描述信息保存到所述 存儲單元和通過所述網絡通信單元上傳給所述服務器端。在該實施例中,所述進程創(chuàng)建單元201在第一次加載所述數(shù)據(jù)文件描述信息時, 就可以直接從所述存儲單元301中加載所述數(shù)據(jù)文件描述信息。相應地,所述進程創(chuàng)建單元201,還用于在創(chuàng)建對應所述應用程序的進程之前,檢 查所述應用程序的數(shù)據(jù)文件描述信息是否保存在所述存儲單元301中;如果是,則從所述 存儲單元301中提取并加載所述應用程序的數(shù)據(jù)文件描述信息;如果不是,則向所述網絡 通信單元203發(fā)送通知。所述網絡通信單元203在接收到所述進程創(chuàng)建單元201發(fā)送的通 知后從所述服務器端下載所述數(shù)據(jù)文件描述信息,將所述數(shù)據(jù)文件描述信息返回給所述進 程創(chuàng)建單元201,并將所述數(shù)據(jù)文件描述信息保存到所述存儲單元301中。如圖5所示,是本發(fā)明實施例應用程序運行裝置的另一種結構示意圖。與圖2所示實施例不同的是,在該實施例中,所述裝置還包括檢查單元501,用于在所述監(jiān)聽單元202確定所述應用程序要訪問的文件類型為 數(shù)據(jù)文件后,根據(jù)所述進程創(chuàng)建單元201加載的數(shù)據(jù)文件描述信息檢查所述數(shù)據(jù)文件是否 存在。在該實施例中,所述網絡通信單元203需要在所述檢查單元501檢查到所述數(shù)據(jù) 文件存在后,從所述服務器端獲取所述應用程序所需的數(shù)據(jù)塊。當然,所述檢查單元501同樣可以應用于上述圖3和圖4所示的實施例中。為了進一步方便后續(xù)應用程序運行時對之前加載過的數(shù)據(jù)塊的加載需求,在本發(fā) 明實施例中,還可進一步包括映射單元502和數(shù)據(jù)塊提取單元503。其中映射單元502,用于保存數(shù)據(jù)塊的映射文件;數(shù)據(jù)塊提取單元503,用于從所述映射單元502中提取所述應用程序所需用數(shù)據(jù) 塊。在該實施例中,所述檢查單元501,還用于在檢查到所述數(shù)據(jù)文件存在后,進一步 檢查所述應用程序所需的數(shù)據(jù)塊是否保存在所述映射文件中;如果是,則向所述數(shù)據(jù)塊提 取單元503發(fā)送通知;如果否,則向所述網絡通信單元203發(fā)送通知。所述數(shù)據(jù)塊提取單元503,具體用于在收到所述檢查單元501發(fā)送的通知后,從所 述映射單元502保存的映射文件中提取所述應用程序所需的數(shù)據(jù)塊,并將所述數(shù)據(jù)塊發(fā)送 給所述加載單元204。同樣,所述網絡通信單元203,具體用于在收到所述檢查單元501發(fā)送的通知后, 從所述服務器端獲取所述應用程序所需的數(shù)據(jù)塊,并將所述數(shù)據(jù)塊發(fā)送給所述加載單元 204。同時,還要將所述數(shù)據(jù)塊保存到所述映射文件中。本發(fā)明實施例應用程序運行裝置,通過加載預先生成的所述應用程序的數(shù)據(jù)文件 描述信息,并監(jiān)聽所述應用程序的I/O請求,在監(jiān)聽到應用程序的I/O請求后,根據(jù)所述I/O 請求確定所述應用程序要訪問的文件類型,并在所述應用程序要訪問的文件類型為數(shù)據(jù)文 件時,根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊,將所述數(shù) 據(jù)塊加載到內存。從而可以使用戶終端僅安裝應用程序的程序模塊文件,而將數(shù)據(jù)文件保 存在外網,并根據(jù)用戶需要下載安裝,有效地減少了應用程序的體積,節(jié)省了用戶終端的存
13儲空間,而且無需進行軟件精簡版本的專門定制,即可簡單、高效地縮減應用程序安裝包的 體積,提供用戶所需功能。進一步地,網絡通信單元203從所述服務器端獲取到所述應用程 序所需的數(shù)據(jù)塊,將其保存到所述映射文件中,可以使應用程序在后續(xù)再次運行時,可以直 接從本地獲取所述數(shù)據(jù)塊,而無需再通過網絡獲取,從而有效地加快了所述數(shù)據(jù)塊的加載 時間,并最大限度地節(jié)省了本地存儲空間。在本發(fā)明實施例中,所述映射文件可以包括頭部信息和數(shù)據(jù)信息兩部分內容。為 此,所述網絡通信單元203在將從服務器端獲取到的數(shù)據(jù)塊保存到所述映射文件的同時, 還需要同步更新所述映射文件的頭部信息。這樣,可以使所述檢查單元501在檢查所述應 用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中時,無需遍歷整個映射文件,只需檢查 所述映射文件的頭部信息,即可確定所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文 件中。需要說明的是,在本發(fā)明實施例中,所述映射文件中的數(shù)據(jù)塊可以和從服務器端 下載獲得的數(shù)據(jù)塊的格式不同,存在一定的映射關系。本發(fā)明實施例還提供一種應用程序運行系統(tǒng),所述系統(tǒng)包括客戶端和服務器端。 其中所述服務器端,用于保存應用程序所需的數(shù)據(jù)文件的各數(shù)據(jù)塊;所述客戶端,用于創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程 序的數(shù)據(jù)文件描述信息;通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應 用程序的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;如果所述應 用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息從所述服務器端獲取 所述應用程序所需的數(shù)據(jù)塊,并將所述數(shù)據(jù)塊加載到內存。在本發(fā)明實施例中,所述客戶端可以是前面各實施例中的應用程序運行裝置。另外,所述客戶端通過向所述服務器端發(fā)送數(shù)據(jù)文件請求從所述服務器端獲取所 述應用程序所需的數(shù)據(jù)塊。相應地,所述服務器端,還用于接收到所述數(shù)據(jù)文件請求后,對 所述請求進行驗證并檢測請求的數(shù)據(jù)文件是否存在;如果驗證通過并且所述數(shù)據(jù)文件存 在,則將所述數(shù)據(jù)文件發(fā)送給所述客戶端。本發(fā)明實施例應用程序運行系統(tǒng),不需要對特別軟件做專門定制,即可實現(xiàn)流式 運行、按需下載,即客戶端的用戶終端只需安裝軟件完整版本的一部分文件,其余需要的文 件以數(shù)據(jù)流的方式從服務器端下載,從而可以有效節(jié)省用戶的磁盤空間。本發(fā)明實施例應 用程序運行系統(tǒng)通用性強,對市面上大部分軟件以及網絡游戲均有較好效果。進一步地,還 可以通過控制數(shù)據(jù)文件的下載來實現(xiàn)針對不同用戶在功能使用上的限制。以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發(fā)明進行 了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設備;同時,對于本領域的 一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所 述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種應用程序運行方法,其特征在于,包括創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述信息;通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序的I/O請求后, 根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;如果所述應用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息從服 務器端獲取所述應用程序所需的數(shù)據(jù)塊; 將所述數(shù)據(jù)塊加載到內存。
2.根據(jù)權利要求1所述的方法,其特征在于,所述加載預先生成的所述應用程序的數(shù) 據(jù)文件描述信息包括從所述服務器端加載所述應用程序的數(shù)據(jù)文件描述信息。
3.根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括在創(chuàng)建對應所述應用程序的進程之前,檢查所述應用程序的數(shù)據(jù)文件描述信息是否保 存在本地的指定目錄;如果是,則從所述指定目錄加載所述數(shù)據(jù)文件描述信息;如果否,則執(zhí)行所述從所述服務器端加載所述應用程序的數(shù)據(jù)文件描述信息的步驟。
4.根據(jù)權利要求3所述的方法,其特征在于,所述方法還包括 抽取所述應用程序的數(shù)據(jù)文件,生成所述數(shù)據(jù)文件描述信息;將所述數(shù)據(jù)文件描述信息保存到本地的指定目錄和/或所述服務器端,并將所述數(shù)據(jù) 文件保存到所述服務器端。
5.根據(jù)權利要求1至4任一項所述的方法,其特征在于,所述通過所述進程監(jiān)聽所述應 用程序的I/O請求包括通過所述進程加載I/O鉤子函數(shù);通過所述I/O鉤子函數(shù)在所述應用程序運行時監(jiān)聽所述應用程序的I/O請求。
6.根據(jù)權利要求1至4任一項所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)文件描述信 息從所述服務器端獲取所述應用程序所需的數(shù)據(jù)塊包括根據(jù)所述數(shù)據(jù)文件描述信息檢查所述數(shù)據(jù)文件是否存在; 如果所述數(shù)據(jù)文件存在,則向所述服務器端發(fā)送數(shù)據(jù)塊下載請求; 接收所述服務器端下發(fā)的所述應用程序所需的數(shù)據(jù)塊。
7.根據(jù)權利要求6所述的方法,其特征在于,所述方法還包括在向所述服務器端發(fā)送數(shù)據(jù)塊下載請求之前,檢查所述應用程序所需的數(shù)據(jù)塊是否保 存在本地的映射文件中;如果是,則從所述映射文件中獲取所述應用程序所需的數(shù)據(jù)塊; 如果否,則執(zhí)行向所述服務器端發(fā)送數(shù)據(jù)塊下載請求的步驟。
8.根據(jù)權利要求7所述的方法,其特征在于,所述方法還包括接收到所述服務器端下發(fā)的所述應用程序所需的數(shù)據(jù)塊后,將所述數(shù)據(jù)塊保存到所述 映射文件中,并更新所述映射文件的頭部信息;所述檢查所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中包括通過檢查所 述映射文件的頭部信息,確定所述應用程序所需的數(shù)據(jù)塊是否保存在本地的映射文件中。
9.根據(jù)權利要求6所述的方法,其特征在于,所述方法還包括服務器端接收到所述數(shù)據(jù)塊下載請求后,對所述請求進行驗證并檢測請求的數(shù)據(jù)塊是 否存在;如果驗證通過并且所述數(shù)據(jù)塊存在,則將所述數(shù)據(jù)塊發(fā)送給請求方。
10.一種應用程序運行裝置,其特征在于,包括進程創(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ù)塊加載到內存。
11.根據(jù)權利要求10所述的裝置,其特征在于,網絡通信單元,還用于從所述服務器端下載所述數(shù)據(jù)文件描述信息,并將所述數(shù)據(jù)文 件描述信息發(fā)送給所述進程創(chuàng)建單元。
12.根據(jù)權利要求11所述的裝置,其特征在于,所述裝置還包括 存儲單元,用于在本地保存所述數(shù)據(jù)文件描述信息;所述網絡通信單元,還用于將下載的所述數(shù)據(jù)文件描述信息保存到所述存儲單元中; 所述進程創(chuàng)建單元,還用于在創(chuàng)建對應所述應用程序的進程之前,檢查所述應用程序 的數(shù)據(jù)文件描述信息是否保存在所述存儲單元中;如果是,則從所述存儲單元中提取并加 載所述應用程序的數(shù)據(jù)文件描述信息;如果不是,則向所述網絡通信單元發(fā)送通知;所述網絡通信單元在接收到所述進程創(chuàng)建單元發(fā)送的通知后從所述服務器端下載所 述數(shù)據(jù)文件描述信息。
13.根據(jù)權利要求12所述的裝置,其特征在于,所述裝置還包括數(shù)據(jù)文件抽取單元,用于抽取所述應用程序的數(shù)據(jù)文件,生成所述數(shù)據(jù)文件描述信息, 并將所述數(shù)據(jù)文件描述信息保存到所述存儲單元和/或通過所述網絡通信單元將所述數(shù) 據(jù)文件描述信息上傳給所述服務器端。
14.根據(jù)權利要求10至13任一項所述的裝置,其特征在于,所述裝置還包括檢查單元,用于在所述監(jiān)聽單元確定所述應用程序要訪問的文件類型為數(shù)據(jù)文件后, 根據(jù)所述數(shù)據(jù)文件描述信息檢查所述數(shù)據(jù)文件是否存在;所述網絡通信單元,具體用于在所述檢查單元檢查到所述數(shù)據(jù)文件存在后,從所述服 務器端獲取所述應用程序所需的數(shù)據(jù)塊。
15.根據(jù)權利要求14所述的裝置,其特征在于,所述裝置還包括 映射單元,用于保存數(shù)據(jù)塊的映射文件;數(shù)據(jù)塊提取單元,用于從所述映射單元中提取所述應用程序所需用數(shù)據(jù)塊; 所述檢查單元,還用于在檢查到所述數(shù)據(jù)文件存在后,進一步檢查所述應用程序所需 的數(shù)據(jù)塊是否保存在所述映射文件中;如果是,則向所述數(shù)據(jù)塊提取單元發(fā)送通知;如果 否,則向所述網絡通信單元發(fā)送通知;所述數(shù)據(jù)塊提取單元,具體用于在收到所述檢查單元發(fā)送的通知后,從所述映射單元保存的映射文件中提取所述應用程序所需的數(shù)據(jù)塊,并將所述數(shù)據(jù)發(fā)送給所述加載單元;所述網絡通信單元,具體用于在收到所述檢查單元發(fā)送的通知后,從所述服務器端獲 取所述應用程序所需的數(shù)據(jù)塊,將所述數(shù)據(jù)塊發(fā)送給所述加載單元,并將所述數(shù)據(jù)塊保存 到所述映射文件中,同步更新所述映射文件的頭部信息。所述檢查單元通過檢查所述映射文件的頭部信息,確定所述應用程序所需的數(shù)據(jù)塊是 否保存在本地的映射文件中。
16.一種應用程序加載系統(tǒng),其特征在于,包括客戶端和服務器端;所述服務器端,用于保存應用程序所需的數(shù)據(jù)文件的各數(shù)據(jù)塊;所述客戶端,用于創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的 數(shù)據(jù)文件描述信息;通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程 序的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;如果所述應用程 序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息從所述服務器端獲取所述 應用程序所需的數(shù)據(jù)塊,并將所述數(shù)據(jù)塊加載到內存。
17.根據(jù)權利要求16所述的系統(tǒng),其特征在于,所述客戶端通過向所述服務器端發(fā)送數(shù)據(jù)文件請求從所述服務器端獲取所述應用程 序所需的數(shù)據(jù)塊;所述服務器端,還用于接收到所述數(shù)據(jù)文件請求后,對所述請求進行驗證并檢測請求 的數(shù)據(jù)文件是否存在;如果驗證通過并且所述數(shù)據(jù)文件存在,則將所述數(shù)據(jù)文件發(fā)送給所述客戶端。
18.根據(jù)權利要求16或17所述的系統(tǒng),其特征在于,所述客戶端為權利要求10至15 任一項所述的應用程序運行裝置。
19.一種計算機可讀存儲介質,其特征在于,包括計算機程序代碼,該計算機程序代碼 由一個計算機單元執(zhí)行,使得該計算機單元創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述信息;通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序的I/O請求后, 根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;如果所述應用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息從服 務器端獲取所述應用程序所需的數(shù)據(jù)塊;將所述數(shù)據(jù)塊加載到內存。
全文摘要
本發(fā)明涉及軟件處理技術領域,公開了一種應用程序運行方法、裝置及系統(tǒng),所述方法包括創(chuàng)建對應所述應用程序的進程,并加載預先生成的所述應用程序的數(shù)據(jù)文件描述信息;通過所述進程監(jiān)聽所述應用程序的I/O請求,并在監(jiān)聽到所述應用程序的I/O請求后,根據(jù)所述I/O請求確定所述應用程序要訪問的文件類型;如果所述應用程序要訪問的文件類型為數(shù)據(jù)文件,則根據(jù)所述數(shù)據(jù)文件描述信息從服務器端獲取所述應用程序所需的數(shù)據(jù)塊;將所述數(shù)據(jù)塊加載到內存。利用本發(fā)明,無需進行專門定制,即可簡單、高效地縮減應用程序安裝包的體積,提供用戶所需功能。
文檔編號G06F9/445GK102135892SQ20101010033
公開日2011年7月27日 申請日期2010年1月22日 優(yōu)先權日2010年1月22日
發(fā)明者朱熠鍔 申請人:北京金山數(shù)字娛樂科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1