專利名稱:提高應(yīng)用程序運行速度的方法、裝置及終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機領(lǐng)域,特別涉及一種提高應(yīng)用程序運行速度的方法、裝置及終端。
背景技術(shù):
隨著計算機技術(shù)的高速發(fā)展,應(yīng)用程序的種類越來越多。為了滿足用戶對各類應(yīng)用程序的運行需求,提高應(yīng)用程序的運行速度,成為了眾多研究者十分關(guān)注的課題?,F(xiàn)有技術(shù)在提高應(yīng)用程序的運行速度時,采取了預(yù)讀和預(yù)加載(Prefetch)兩種機制。其中,預(yù)讀機制是指在讀取本地數(shù)據(jù)文件時,除了讀取當(dāng)前所需數(shù)據(jù)外,還將當(dāng)前所 需數(shù)據(jù)后的內(nèi)容也一并讀入內(nèi)存中,以在用到該部分內(nèi)容時,可從內(nèi)存中直接讀取,從而減少應(yīng)用程序在IO(Input/Output,輸入輸出)上的耗時;預(yù)加載機制是指在開機加載操作系統(tǒng)時,讀取常用的應(yīng)用程序的主要內(nèi)容,以備在該類應(yīng)用程序啟動時耗費大量時間來讀取數(shù)據(jù)。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題預(yù)讀機制僅適用于在加載應(yīng)用程序時順序訪問本地數(shù)據(jù)的場景,針對應(yīng)用程序運行時對本地數(shù)據(jù)進行隨機訪問的場景,該預(yù)讀機制的作用并不顯著;預(yù)加載機制針對所有應(yīng)用程序運行速度進行優(yōu)化,具有一定普遍性但缺乏針對性,對應(yīng)用程序運行速度的優(yōu)化空間有限。
發(fā)明內(nèi)容
為了在提高應(yīng)用程序運行速度的同時,提高速度優(yōu)化的針對性,并增強速度提高的效果,本發(fā)明實施例提供了一種提高應(yīng)用程序運行速度的方法、裝置及終端。所述技術(shù)方案如下—方面,提供了一種提高應(yīng)用程序運行速度的方法,所述方法包括采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,所述本地數(shù)據(jù)信息包括本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大??;根據(jù)采集到的所述本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),并在獲取到提高所述應(yīng)用程序運行速度的指令后,加載獲取到的所述本地數(shù)據(jù)。其中,所述采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,具體包括通過事件跟蹤機制采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,從記錄了所述硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息;或者,通過鉤子HOOK技術(shù)對系統(tǒng)底層調(diào)用進行監(jiān)控,并獲取用于記錄缺頁中斷對應(yīng)的本地數(shù)據(jù)信息的監(jiān)控代碼,根據(jù)所述監(jiān)控代碼獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息。優(yōu)選地,所述根據(jù)采集到的所述本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),具體包括
解析采集到的所述本地數(shù)據(jù)信息,得到本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大??;按照所述本地數(shù)據(jù)所在文件的文件名將采集到的本地數(shù)據(jù)信息進行聚合;按照所述本地數(shù)據(jù)在所述文件內(nèi)的偏移將聚合后的本地數(shù)據(jù)信息進行合并,并在合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息;根據(jù)選取的所述預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù)。
進一步地,所述在合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息之后,還包括根據(jù)所述應(yīng)用程序的信息存儲選取的所述預(yù)取數(shù)據(jù)信息;所述加載獲取到的本地數(shù)據(jù),具體包括根據(jù)所述應(yīng)用程序的信息獲取所述預(yù)取數(shù)據(jù)信息,并根據(jù)所述預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),將獲取到的本地數(shù)據(jù)加載至內(nèi)存。進一步地,所述加載獲取到的本地數(shù)據(jù)之前,還包括輸出應(yīng)用程序列表,提示用戶在所述應(yīng)用程序列表中選擇提高運行速度的應(yīng)用程序;根據(jù)用戶在所述應(yīng)用程序列表中選擇的應(yīng)用程序接收提高所述應(yīng)用程序運行速度的指令以及所述應(yīng)用程序的信息。另一方面,還提供了一種提高應(yīng)用程序運行速度的裝置,所述裝置包括采集模塊,用于采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,所述本地數(shù)據(jù)信息包括本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大?。猾@取模塊,用于根據(jù)所述采集模塊采集到的所述本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù);加載模塊,用于獲取到提高所述應(yīng)用程序運行速度的指令后,加載所述獲取模塊獲取到的所述本地數(shù)據(jù)。其中,所述采集模塊,具體用于通過事件跟蹤機制采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,從記錄了所述硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息;或者,所述采集模塊,具體用于通過鉤子HOOK技術(shù)對系統(tǒng)底層調(diào)用進行監(jiān)控,并獲取用于記錄缺頁中斷對應(yīng)的本地數(shù)據(jù)信息的監(jiān)控代碼,根據(jù)所述監(jiān)控代碼獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息。優(yōu)選地,所述獲取模塊,具體包括解析單元,用于解析所述采集模塊采集到的本地數(shù)據(jù)信息,得到本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大??;聚合單元,用于按照所述解析單元解析出的本地數(shù)據(jù)所在文件的文件名將采集到的本地數(shù)據(jù)信息進行聚合;合并單元,用于按照所述解析單元解析出的本地數(shù)據(jù)在所述文件內(nèi)的偏移將所述聚合單元聚合后的本地數(shù)據(jù)信息進行合并;選取單元,用于在所述合并單元合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息;獲取單元,用于根據(jù)所述選取單元選取的所述預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù)。進一步地,所述裝置還包括存儲模塊,用于根據(jù)所述應(yīng)用程序的信息存儲所述選取單元選取的所述預(yù)取數(shù)據(jù)信息;所述加載模塊,具體包括第一獲取單元,用于根據(jù)所述應(yīng)用程序的信息獲取所述預(yù)取數(shù)據(jù)信息;第二獲取單元,用于根據(jù)所述第一獲取單元獲取到的預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù); 加載單元,用于將所述第二獲取單元獲取到的本地數(shù)據(jù)加載至內(nèi)存。進一步地,所述裝置還包括輸出模塊,用于輸出應(yīng)用程序列表,提示用戶在所述應(yīng)用程序列表中選擇提高運行速度的應(yīng)用程序;接收模塊,用于根據(jù)用戶在所述輸出模塊輸出的應(yīng)用程序列表中選擇的應(yīng)用程序接收提高所述應(yīng)用程序運行速度的指令以及所述應(yīng)用程序的信息。再一方面,還提供了一種終端,所述終端包括上述提高應(yīng)用程序運行速度的裝置。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是通過采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,并加載根據(jù)本地數(shù)據(jù)信息獲取到的本地數(shù)據(jù),從而減少應(yīng)用程序訪問IO操作的耗時,達(dá)到提高應(yīng)用程序運行速度的目的;另外,由于缺頁中斷對應(yīng)的本地數(shù)據(jù)信息不局限于本地數(shù)據(jù)的訪問場景,因而可增強速度提高的效果;且由于不同應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息不同,針對不同應(yīng)用程序具有不同的速度優(yōu)化程度,因而可提高速度優(yōu)化的針對性,進而擴大速度優(yōu)化的空間。
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實施例一提供的提高應(yīng)用程序運行速度的方法流程圖;圖2是本發(fā)明實施例二提供的提高應(yīng)用程序運行速度的方法流程圖;圖3是本發(fā)明實施例三提供的提高應(yīng)用程序運行速度的裝置的結(jié)構(gòu)示意圖;圖4是本發(fā)明實施例三提供的獲取模塊的結(jié)構(gòu)示意圖;圖5是本發(fā)明實施例三提供的另一種提高應(yīng)用程序運行速度的裝置的結(jié)構(gòu)示意圖;圖6是本發(fā)明實施例三提供的加載模塊的結(jié)構(gòu)示意圖;圖7是本發(fā)明實施例三提供的又一種提高應(yīng)用程序運行速度的裝置的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細(xì)描述。實施例一本實施例提供了一種提高應(yīng)用程序運行速度的方法,參見圖1,本實施例提供的方法流程具體如下101 :采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,該本地數(shù)據(jù)信息包括本地數(shù)據(jù)所在文件的文件名、本地數(shù)據(jù)在文件內(nèi)的偏移以及本 地數(shù)據(jù)的大小;其中,本實施例不對采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息的具體方式進行限定,包括但不限于如下方式通過事件跟蹤機制采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,從記錄了硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息;或者,通過鉤子HOOK技術(shù)對系統(tǒng)底層調(diào)用進行監(jiān)控,并獲取用于記錄缺頁中斷對應(yīng)的本地數(shù)據(jù)信息的監(jiān)控代碼,根據(jù)監(jiān)控代碼獲取應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息。102 :根據(jù)采集到的本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),并在獲取到提高應(yīng)用程序運行速度的指令后,加載獲取到的本地數(shù)據(jù)。優(yōu)選地,根據(jù)采集到的本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),具體包括解析采集到的本地數(shù)據(jù)信息,得到本地數(shù)據(jù)所在文件的文件名、本地數(shù)據(jù)在文件內(nèi)的偏移以及本地數(shù)據(jù)的大小;按照本地數(shù)據(jù)所在文件的文件名將采集到的本地數(shù)據(jù)信息進行聚合;按照本地數(shù)據(jù)在文件內(nèi)的偏移將聚合后的本地數(shù)據(jù)信息進行合并,并在合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息;根據(jù)選取的預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù)。進一步地,在合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息之后,還包括根據(jù)應(yīng)用程序的信息存儲選取的預(yù)取數(shù)據(jù)信息;加載獲取到的本地數(shù)據(jù),具體包括根據(jù)應(yīng)用程序的信息獲取預(yù)取數(shù)據(jù)信息,并根據(jù)預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),將獲取到的本地數(shù)據(jù)加載至內(nèi)存。進一步地,加載獲取到的本地數(shù)據(jù)之前,還包括輸出應(yīng)用程序列表,提示用戶在應(yīng)用程序列表中選擇提高運行速度的應(yīng)用程序;根據(jù)用戶在應(yīng)用程序列表中選擇的應(yīng)用程序接收提高應(yīng)用程序運行速度的指令以及應(yīng)用程序的信息。本實施例提供的方法,通過采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,并加載根據(jù)本地數(shù)據(jù)信息獲取到的本地數(shù)據(jù),從而減少應(yīng)用程序訪問IO操作的耗時,達(dá)到提高應(yīng)用程序運行速度的目的;另外,由于缺頁中斷對應(yīng)的本地數(shù)據(jù)信息不局限于本地數(shù)據(jù)的訪問場景,因而可增強速度提高的效果;且由于不同應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息不同,針對不同應(yīng)用程序具有不同的速度優(yōu)化程度,因而可提高速度優(yōu)化的針對性,進而擴大速度優(yōu)化的空間。實施例二本實施例提供了一種提高應(yīng)用程序運行速度的方法,該方法通過采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,并在根據(jù)該本地數(shù)據(jù)信息訓(xùn)練得到預(yù)取數(shù)據(jù)信息后,根據(jù)預(yù)取數(shù)據(jù)信息加載對應(yīng)的本地數(shù)據(jù),從而減少應(yīng)用程序訪問IO操作的耗時,達(dá)到提高應(yīng)用程序運行的目的。結(jié)合上述實施例一的內(nèi)容,本實施例以本地數(shù)據(jù)為磁盤數(shù)據(jù)為例,對提高應(yīng)用程序運行速度的方法進行舉例說明。參見圖2,本實施例提供的方法流程具體如下201 :采集應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息,該磁盤數(shù)據(jù)信息包括磁盤數(shù)據(jù)所在文件的文件名、磁盤數(shù)據(jù)在文件內(nèi)的偏移以及磁盤數(shù)據(jù)的大小; 其中,缺頁中斷是指要訪問的頁不在內(nèi)存,需要操作系統(tǒng)將其調(diào)入內(nèi)存后再進行訪問。且缺頁中斷可分為硬缺頁和軟缺頁,硬缺頁事件是指發(fā)生缺頁中斷后,需要的數(shù)據(jù)不在緩存也不在分頁內(nèi)存中,需要通過IO操作從磁盤上獲取磁盤數(shù)據(jù)。軟缺頁是指發(fā)生缺頁中斷后,需要的數(shù)據(jù)已經(jīng)被載入內(nèi)存,但又被置換到磁盤中,需要從磁盤交換文件中將這塊內(nèi)存信息再載入內(nèi)存中。由此可見,無論是硬缺頁還是軟缺頁,缺頁中斷都將影響應(yīng)用程序運行的速度,因此,為了提高應(yīng)用程序運行速度,本實施例采取了采集應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息,后續(xù)步驟再通過提前加載根據(jù)磁盤數(shù)據(jù)信息獲取到的磁盤數(shù)據(jù)的方式,避免發(fā)生缺頁中斷,進而提高應(yīng)用程序運行速度。采集應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息時,包括但不限于如下方式通過事件跟蹤機制采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,從記錄了硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息;或者,通過HOOK技術(shù)對系統(tǒng)底層調(diào)用進行監(jiān)控,并獲取用于記錄缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息的監(jiān)控代碼,根據(jù)監(jiān)控代碼獲取應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信
肩、O具體地,事件跟蹤機制可以米用ETW(Event Tracing for Windows, Windows事件跟蹤),ETW是由操作系統(tǒng)提供的一種通用的、與性能日志和警報相比系統(tǒng)開銷較低的事件追蹤手段,用以監(jiān)控具有負(fù)載的系統(tǒng)的性能。ETW主要用于頻繁記錄事件、錯誤、警告或?qū)徍说姆?wù)器應(yīng)用程序。ETW提供用戶模式的應(yīng)用程序和內(nèi)核模式的設(shè)備驅(qū)動程序所觸發(fā)的事件追蹤機制。此外,ETW還能夠動態(tài)地啟用或者禁用日志記錄,便于進行詳細(xì)的追蹤,而無需重新啟動操作系統(tǒng)或者應(yīng)用程序,因此,可通過ETW采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,并從記錄了硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息。當(dāng)然,除了采用上述兩種采集方式外,還可以選擇其他采集方式,本實施對此不做具體限定。無論采用哪種采集方式,在采集到應(yīng)用程序運行時缺頁中斷對應(yīng)的磁盤數(shù)據(jù)信息后,均可將其轉(zhuǎn)化成磁盤內(nèi)容描述格式〈file, offset, length〉,其中,file為磁盤數(shù)據(jù)所在文件的文件名,offset為磁盤數(shù)據(jù)在文件內(nèi)的偏移,length為磁盤數(shù)據(jù)的大小,可以byte(字節(jié))為單位。202 :根據(jù)采集到的磁盤數(shù)據(jù)信息得到預(yù)取數(shù)據(jù)信息;該步驟為優(yōu)選步驟,根據(jù)采集到的磁盤數(shù)據(jù)信息得到預(yù)取數(shù)據(jù)信息的方式,包括但不限于如下步驟解析采集到的磁盤數(shù)據(jù)信息,得到磁盤數(shù)據(jù)所在文件的文件名、磁盤數(shù)據(jù)在文件內(nèi)的偏移以及磁盤數(shù)據(jù)的大?。话凑沾疟P數(shù)據(jù)所在文件的文件名將采集到的磁盤數(shù)據(jù)信息進行聚合;
按照磁盤數(shù)據(jù)在文件內(nèi)的偏移將聚合后的磁盤數(shù)據(jù)信息進行合并,并在合并后的磁盤數(shù)據(jù)信息中選取符合預(yù)取條件的磁盤數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息。其中,本實施例不對解析采集到的磁盤數(shù)據(jù)信息的方式進行限定,為了便于說明,本實施例以解析出的磁盤數(shù)據(jù)信息如下面表I所示為例,對該步驟中得到預(yù)取數(shù)據(jù)信息的方式進行舉例說明。表I
權(quán)利要求
1.一種提高應(yīng)用程序運行速度的方法,其特征在于,所述方法包括 采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,所述本地數(shù)據(jù)信息包括本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大??; 根據(jù)采集到的所述本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),并在獲取到提高所述應(yīng)用程序運行速度的指令后,加載獲取到的所述本地數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,具體包括 通過事件跟蹤機制采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,從記錄了所述硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息; 或者,通過鉤子HOOK技術(shù)對系統(tǒng)底層調(diào)用進行監(jiān)控,并獲取用于記錄缺頁中斷對應(yīng)的本地數(shù)據(jù)信息的監(jiān)控代碼,根據(jù)所述監(jiān)控代碼獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述根據(jù)采集到的所述本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),具體包括 解析采集到的所述本地數(shù)據(jù)信息,得到本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大??; 按照所述本地數(shù)據(jù)所在文件的文件名將采集到的本地數(shù)據(jù)信息進行聚合; 按照所述本地數(shù)據(jù)在所述文件內(nèi)的偏移將聚合后的本地數(shù)據(jù)信息進行合并,并在合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息; 根據(jù)選取的所述預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息之后,還包括 根據(jù)所述應(yīng)用程序的信息存儲選取的所述預(yù)取數(shù)據(jù)信息; 所述加載獲取到的本地數(shù)據(jù),具體包括 根據(jù)所述應(yīng)用程序的信息獲取所述預(yù)取數(shù)據(jù)信息,并根據(jù)所述預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),將獲取到的本地數(shù)據(jù)加載至內(nèi)存。
5.根據(jù)權(quán)利要求I至4中任一權(quán)利要求所述的方法,其特征在于,所述加載獲取到的本地數(shù)據(jù)之前,還包括 輸出應(yīng)用程序列表,提示用戶在所述應(yīng)用程序列表中選擇提高運行速度的應(yīng)用程序;根據(jù)用戶在所述應(yīng)用程序列表中選擇的應(yīng)用程序接收提高所述應(yīng)用程序運行速度的指令以及所述應(yīng)用程序的信息。
6.一種提高應(yīng)用程序運行速度的裝置,其特征在于,所述裝置包括 采集模塊,用于采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,所述本地數(shù)據(jù)信息包括本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大小; 獲取模塊,用于根據(jù)所述采集模塊采集到的所述本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù);加載模塊,用于獲取到提高所述應(yīng)用程序運行速度的指令后,加載所述獲取模塊獲取到的所述本地數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述采集模塊,具體用于通過事件跟蹤機制采集應(yīng)用程序運行時的硬缺頁事件和軟缺頁事件,從記錄了所述硬缺頁事件和軟缺頁事件的事件跟蹤日志中獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息; 或者,所述采集模塊,具體用于通過鉤子HOOK技術(shù)對系統(tǒng)底層調(diào)用進行監(jiān)控,并獲取用于記錄缺頁中斷對應(yīng)的本地數(shù)據(jù)信息的監(jiān)控代碼,根據(jù)所述監(jiān)控代碼獲取所述應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,具體包括 解析單元,用于解析所述采集模塊采集到的本地數(shù)據(jù)信息,得到本地數(shù)據(jù)所在文件的文件名、所述本地數(shù)據(jù)在所述文件內(nèi)的偏移以及所述本地數(shù)據(jù)的大??; 聚合單元,用于按照所述解析單元解析出的本地數(shù)據(jù)所在文件的文件名將采集到的本地數(shù)據(jù)信息進行聚合; 合并單元,用于按照所述解析單元解析出的本地數(shù)據(jù)在所述文件內(nèi)的偏移將所述聚合單元聚合后的本地數(shù)據(jù)信息進行合并; 選取單元,用于在所述合并子單元合并后的本地數(shù)據(jù)信息中選取符合預(yù)取條件的本地數(shù)據(jù)信息作為預(yù)取數(shù)據(jù)信息; 獲取單元,用于根據(jù)所述選取單元選取的所述預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括 存儲模塊,用于根據(jù)所述應(yīng)用程序的信息存儲所述選取單元選取的所述預(yù)取數(shù)據(jù)信息; 所述加載模塊,具體包括 第一獲取單元,用于根據(jù)所述應(yīng)用程序的信息獲取所述存儲模塊存儲的預(yù)取數(shù)據(jù)信息; 第二獲取單元,用于根據(jù)所述第一獲取單元獲取到的預(yù)取數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù); 加載單元,用于將所述第二獲取單元獲取到的本地數(shù)據(jù)加載至內(nèi)存。
10.根據(jù)權(quán)利要求6至9中任一權(quán)利要求所述的裝置,其特征在于,所述裝置還包括 輸出模塊,用于輸出應(yīng)用程序列表,提示用戶在所述應(yīng)用程序列表中選擇提高運行速度的應(yīng)用程序; 接收模塊,用于根據(jù)用戶在所述輸出模塊輸出的應(yīng)用程序列表中選擇的應(yīng)用程序接收提高所述應(yīng)用程序運行速度的指令以及所述應(yīng)用程序的信息。
11.一種終端,其特征在于,所述終端包括提高應(yīng)用程序運行速度的裝置; 其中,所述提高應(yīng)用程序運行速度的裝置如所述權(quán)利要求6至10中任一權(quán)利要求所述的裝置。
全文摘要
本發(fā)明公開了一種提高應(yīng)用程序運行速度的方法、裝置及終端,屬于計算機領(lǐng)域。方法包括采集應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息,本地數(shù)據(jù)信息包括本地數(shù)據(jù)所在文件的文件名、本地數(shù)據(jù)在文件內(nèi)的偏移以及本地數(shù)據(jù)的大?。桓鶕?jù)采集到的本地數(shù)據(jù)信息獲取對應(yīng)的本地數(shù)據(jù),并在獲取到提高應(yīng)用程序運行速度的指令后,加載獲取到的本地數(shù)據(jù)。本發(fā)明通過加載根據(jù)應(yīng)用程序運行時缺頁中斷對應(yīng)的本地數(shù)據(jù)信息獲取到的本地數(shù)據(jù),以減少應(yīng)用程序訪問IO操作的耗時,提高應(yīng)用程序運行速度;由于缺頁中斷對應(yīng)的本地數(shù)據(jù)信息不局限于訪問場景,可增強速度提高的效果;針對不同應(yīng)用程序具有不同的速度優(yōu)化程度,提高速度優(yōu)化的針對性,擴大速度優(yōu)化的空間。
文檔編號G06F9/445GK102662713SQ20121010676
公開日2012年9月12日 申請日期2012年4月12日 優(yōu)先權(quán)日2012年4月12日
發(fā)明者方斌, 李世平, 林道正, 聶科峰 申請人:騰訊科技(深圳)有限公司