欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用程序啟動(dòng)方法和裝置的制作方法

文檔序號(hào):6366355閱讀:210來(lái)源:國(guó)知局
專利名稱:應(yīng)用程序啟動(dòng)方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種應(yīng)用程序啟動(dòng)方法和裝置。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,用戶會(huì)安裝各種各樣的應(yīng)用程序,應(yīng)用程序啟動(dòng)過(guò)程中的磁盤I/o基本上是由頁(yè)面錯(cuò)誤(Page Fault)引入的,當(dāng)執(zhí)行到某處而其對(duì)應(yīng)的虛擬地址并不在進(jìn)程的工作集(Working Set)中時(shí),就會(huì)發(fā)生Page Fault, Page Fault的順序一般是這樣的從ー個(gè)文件的某部分中讀入ー些頁(yè)面,然后可能從同一文件的相距較遠(yuǎn)的另一部分中讀入ー些頁(yè)面,然后從另ー個(gè)不同的文件中讀入ー些頁(yè)面,可能又要從ー個(gè)目錄中讀入頁(yè)面,然后再?gòu)牡谝粋€(gè)文件中讀入ー些頁(yè)面,讀取文件不連續(xù),且讀取位置也有可能不連續(xù),這種跳躍的讀取大大減慢了每一次啟動(dòng)應(yīng)用程序的速度,如果對(duì)應(yīng)的內(nèi)容不在物理內(nèi)存里,就需要從文件中讀取,觸發(fā)Hard Fault,應(yīng)用程序冷啟動(dòng)時(shí)間較長(zhǎng)的ー個(gè)主要原因就是Hard Fault過(guò)多。而Hard Fault是按需讀取的(一次16KB或者32KB),再考慮到系統(tǒng)其他的1/0,就可能造成I/O偏移量在磁盤上的跳躍,從而大大減慢了每一次訪問(wèn)的速度,使得應(yīng)用程序的啟動(dòng)效率降低,而啟動(dòng)速度是應(yīng)用程序的最重要性能指標(biāo)之一,直接影響著用戶的對(duì)應(yīng)用程序的體驗(yàn)印象。

發(fā)明內(nèi)容
為了加快應(yīng)用程序的啟動(dòng)速度,本發(fā)明實(shí)施例提供了一種應(yīng)用程序啟動(dòng)方法和裝置。所述技術(shù)方案如下本發(fā)明實(shí)施例提供了一種應(yīng)用程序啟動(dòng)方法,所述方法包括當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),所述預(yù)取數(shù)據(jù)包括所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊;加載所述應(yīng)用程序的代碼,以便啟動(dòng)所述應(yīng)用程序。當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),之前包括分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),具體包括獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址;根據(jù)所述映像文件列表和所述虛擬地址計(jì)算每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量;根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址,具體包括獲取所述應(yīng)用程序的日志文件;將所述日志文件中從用戶界面進(jìn)程開(kāi)始時(shí)間到顯示前景窗ロ時(shí)間之間的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段;獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程加載的映像文件列表;獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址。根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),具體包括 根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,將距離小于預(yù)設(shè)比特?cái)?shù)的文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。本發(fā)明實(shí)施例提供了一種應(yīng)用程序啟動(dòng)裝置,所述裝置包括預(yù)取數(shù)據(jù)加載模塊,用于當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),所述預(yù)取數(shù)據(jù)包括所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊;代碼加載模塊,用于加載所述應(yīng)用程序的代碼,以便啟動(dòng)所述應(yīng)用程序。所述裝置還包括預(yù)取數(shù)據(jù)獲取模塊,用于分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。所述預(yù)取數(shù)據(jù)獲取模塊包括獲取單元,用于獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址;偏移量計(jì)算單元,用于根據(jù)所述映像文件列表和所述虛擬地址計(jì)算每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量;預(yù)取數(shù)據(jù)獲取単元,用于根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。所述獲取單元包括日志獲取子単元,用于獲取所述應(yīng)用程序的日志文件;時(shí)間段確定子単元,用于將所述日志文件中從用戶界面進(jìn)程開(kāi)始時(shí)間到顯示前景窗ロ時(shí)間之間的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段;映像文件列表獲取子単元,用于獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程加載的映像文件列表;虛擬地址獲取子単元,用于獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址。所述預(yù)取數(shù)據(jù)獲取単元具體用于根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,將距離小于預(yù)設(shè)比特?cái)?shù)的文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是通過(guò)在應(yīng)用程序啟動(dòng)時(shí),先加載所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊,再加載應(yīng)用程序代碼,大大減少了應(yīng)用程序啟動(dòng)過(guò)程中頁(yè)面錯(cuò)誤發(fā)生的次數(shù),減輕了程序載入過(guò)程中頻繁交換內(nèi)存頁(yè)面與交換文件的現(xiàn)象,提高了應(yīng)用程序的啟動(dòng)速度和啟動(dòng)效率。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實(shí)施例提供的一種應(yīng)用程序啟動(dòng)方法的流程圖;圖2是本發(fā)明實(shí)施例提供的一種應(yīng)用程序啟動(dòng)方法的流程圖;圖3是現(xiàn)有技術(shù)應(yīng)用程序啟動(dòng)時(shí)間與采用本發(fā)明實(shí)施例的應(yīng)用程序啟動(dòng)方法的啟動(dòng)時(shí)間的對(duì)比示意圖;圖4是本發(fā)明實(shí)施例提供的一種應(yīng)用程序啟動(dòng)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)ー步地詳細(xì)描述。在介紹本發(fā)明提供的應(yīng)用程序啟動(dòng)方法和裝置之前,對(duì)本發(fā)明涉及的關(guān)鍵用語(yǔ)進(jìn)行以下說(shuō)明頁(yè)面錯(cuò)誤當(dāng)前進(jìn)程訪問(wèn)的虛擬頁(yè)面沒(méi)有被映射到有效的物理頁(yè)面時(shí),應(yīng)用程序要使用ー個(gè)保存在硬盤上的虛擬內(nèi)存頁(yè)面,則操作系統(tǒng)會(huì)在硬盤上找到該頁(yè)面,并將其調(diào)入物理內(nèi)存中,然后程序才能運(yùn)行。如果虛擬頁(yè)面被映射到內(nèi)存中其他狀態(tài)的物理頁(yè)面,發(fā)生的是軟頁(yè)面錯(cuò)誤(Soft Fault),如果虛擬頁(yè)面被映射到磁盤上的文件中,發(fā)生的是硬頁(yè)面錯(cuò)誤(Hard Fault)。映像文件將磁盤上的文件映射到虛擬地址空間,通過(guò)訪問(wèn)內(nèi)存ー樣訪問(wèn)這些文件,這些被映射的文件稱為映像文件,進(jìn)程啟動(dòng)過(guò)程中使用映像文件載入EXE和DLL文件。磁盤I/O:磁盤的讀寫(xiě)。圖I是本發(fā)明實(shí)施例提供的一種應(yīng)用程序啟動(dòng)方法的流程圖。參見(jiàn)圖1,該實(shí)施例包括101、當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載該應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),該預(yù)取數(shù)據(jù)包括該應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊;102、加載該應(yīng)用程序的代碼,以便啟動(dòng)該應(yīng)用程序??蛇x地,當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),之前包括分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)??蛇x地,分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序 對(duì)應(yīng)的預(yù)取數(shù)據(jù),具體包括獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址;根據(jù)所述映像文件列表和所述虛擬地址計(jì)算每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量;根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合井,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)??蛇x地,獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址,具體包括獲取所述應(yīng)用程序的日志文件;將所述日志文件中從用戶界面進(jìn)程開(kāi)始時(shí)間到顯示前景窗ロ時(shí)間之間的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段;獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程加載的映像文件列表;獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址??蛇x地,根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),具體包括根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,將距離小于預(yù)設(shè)比特?cái)?shù)的文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。本實(shí)施例提供的方法,通過(guò)在應(yīng)用程序啟動(dòng)時(shí),先加載所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊,再加載應(yīng)用程序代碼,大大減少了應(yīng)用程序啟動(dòng)過(guò)程中頁(yè)面錯(cuò)誤發(fā)生的次數(shù),減輕了程序載入過(guò)程中頻繁交換內(nèi)存頁(yè)面與交換文件的現(xiàn)象,提高了應(yīng)用程序的啟動(dòng)速度和啟動(dòng)效率。圖2是本發(fā)明實(shí)施例提供的一種應(yīng)用程序啟動(dòng)方法的流程圖。該實(shí)施例的執(zhí)行主體為終端,該終端可以為PC(Personal Computer,個(gè)人電腦)或移動(dòng)終端,該移動(dòng)終端可以為智能手機(jī)、平板電腦、MP3 (Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)等。參見(jiàn)圖2,該實(shí)施例具體包括 201、獲取該應(yīng)用程序的日志文件;其中,日志文件是包含關(guān)于系統(tǒng)消息的文件,不同的日志文件記載不同的信息,例如,有的用于加載默認(rèn)的系統(tǒng)日志文件,有的僅用于記載安全消息,對(duì)于該步驟201來(lái)說(shuō),獲取的該應(yīng)用程序的日志文件用于記載該應(yīng)用程序的啟動(dòng)和運(yùn)行相關(guān)信息,該日志文件至少包括該應(yīng)用程序的啟動(dòng)信息,該啟動(dòng)信息包括應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的PageFault信息。該步驟201中獲取的日志文件可以基于ETW (Event Tracing for Windows),該ETW是Windows提供的統(tǒng)ー的跟蹤和記錄事件的機(jī)制,用戶模式應(yīng)用程序和內(nèi)核模式驅(qū)動(dòng)程序都可以使用ETW來(lái)記錄事件。202、將該日志文件中從用戶界面進(jìn)程開(kāi)始到顯示前景窗ロ的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段;其中,用戶界面進(jìn)程的開(kāi)始時(shí)間可以理解為應(yīng)用程序的啟動(dòng)時(shí)間,而顯示前景窗ロ的時(shí)間可以理解為應(yīng)用程序完成代碼加載的時(shí)間。在本實(shí)施例中,僅以將從用戶界面進(jìn)程開(kāi)始到顯示前景窗ロ的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段為例進(jìn)行說(shuō)明,該預(yù)設(shè)啟動(dòng)時(shí)間段還可以縮短到更小的范圍內(nèi),具體可以由技術(shù)人員設(shè)置,本發(fā)明實(shí)施例不做具體限定。203、獲取該預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程加載的映像文件列表;其中,映像文件列表至少包括所加載文件的起始地址和路徑,對(duì)于該應(yīng)用程序來(lái)說(shuō),該映像文件列表即是由于應(yīng)用程序啟動(dòng)過(guò)程中發(fā)生的Page Fault而加載的,因此,獲取該映像文件列表,可以獲知在應(yīng)用程序啟動(dòng)過(guò)程中發(fā)生Page Fault時(shí)加載了哪些文件以及這些文件的路徑。204 、獲取該預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址;該虛擬地址即是應(yīng)用程序啟動(dòng)過(guò)程中進(jìn)程所訪問(wèn)的虛擬頁(yè)面的地址,對(duì)于該步驟204來(lái)說(shuō),獲取預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址可以獲知在應(yīng)用程序啟動(dòng)過(guò)程中哪些虛擬地址未被映射到有效的物理地址中。需要說(shuō)明的是,由于每次應(yīng)用程序啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤并不是完全相同的,因此,需要對(duì)多次應(yīng)用程序的啟動(dòng)過(guò)程進(jìn)行分析,以獲取進(jìn)程加載的映像文件列表和Page Fault發(fā)生時(shí)的虛擬地址。本實(shí)施例的步驟201-204僅以對(duì)單次啟動(dòng)的日志文件進(jìn)行分析,并獲取映像文件列表和Page Fault發(fā)生時(shí)的虛擬地址的過(guò)程為例進(jìn)行說(shuō)明,在實(shí)際應(yīng)用中,可以同時(shí)對(duì)多個(gè)日志文件進(jìn)行分析,并獲取映像文件列表和Page Fault發(fā)生時(shí)的虛擬地址,或,對(duì)多個(gè)日志文件順序進(jìn)行分析,并獲取映像文件列表和Page Fault發(fā)生時(shí)的虛擬地址,對(duì)多個(gè)日志文件的分析順序可以有多種,具體可以由技術(shù)人員設(shè)置,本實(shí)施例不做具體限定。205、根據(jù)該映像文件列表和該虛擬地址計(jì)算每個(gè)該虛擬地址對(duì)應(yīng)的文件偏移量;本領(lǐng)域技術(shù)人員可以獲知,對(duì)于映像文件列表中的單個(gè)映像文件來(lái)說(shuō),映像文件的起始地址減去Page Fault發(fā)生時(shí)的虛擬地址,得到相對(duì)虛擬地址,并通過(guò)相對(duì)虛擬地址獲得文件偏移量,其中,該相對(duì)虛擬地址與文件偏移量是分段線性關(guān)系,該分段線性關(guān)系由映像文件(PE文件格式)進(jìn)行設(shè)置,本實(shí)施例不做贅述。該實(shí)施例與現(xiàn)有技術(shù)的區(qū)別在于,并不直接加載映像文件列表中的整個(gè)映像文件,而是將加載的的粒度更加細(xì)化,僅加載映像文件中的在應(yīng)用程序啟動(dòng)過(guò)程中將會(huì)發(fā)生頁(yè)面錯(cuò)誤的文件塊,以極少量的冗余數(shù)據(jù)換取I/O效率的大幅提升。206、根據(jù)該每個(gè)該虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并,得到該應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù);具體地,根據(jù)該每個(gè)該虛擬地址對(duì)應(yīng)的文件偏移量,將距離小于預(yù)設(shè)比特?cái)?shù)的文件塊進(jìn)行合并操作,得到該應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。優(yōu)選地,該預(yù)設(shè)比特?cái)?shù)可以為64KB,如果兩個(gè)文件塊的距離小于64KB,則將該兩個(gè)文件塊進(jìn)行合并操作,通過(guò)對(duì)多個(gè)文件塊的合并操作,得到該應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。該預(yù)設(shè)比特?cái)?shù)還可以有其他的數(shù)值,其具體數(shù)值可以由技術(shù)人員進(jìn)行設(shè)置。本領(lǐng)域技術(shù)人員可以獲知,一次磁盤I/O的大小在WIN7上可達(dá)到2M,在XP上可達(dá)到1M,而一次Hard Fault引入的I/O大小只有16KB或者32KB,因此,在本實(shí)施例中,通過(guò)將相鄰的文件塊進(jìn)行合并操作,可以大幅度的提高磁盤I/O的效率。表I是應(yīng)用程序啟動(dòng)過(guò)程中一個(gè)模塊的文件塊合并后的示例。表I
權(quán)利要求
1.一種應(yīng)用程序啟動(dòng)方法,其特征在于,所述方法包括 當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),所述預(yù)取數(shù)據(jù)包括所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊; 加載所述應(yīng)用程序的代碼,以便啟動(dòng)所述應(yīng)用程序。
2.根據(jù)權(quán)利要求I所述的方法,其特征在干,當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),之前包括 分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),具體包括 獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤PageFault的虛擬地址; 根據(jù)所述映像文件列表和所述虛擬地址計(jì)算每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量; 根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合井,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址,具體包括 獲取所述應(yīng)用程序的日志文件; 將所述日志文件中從用戶界面進(jìn)程開(kāi)始時(shí)間到顯示前景窗ロ時(shí)間之間的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段; 獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程加載的映像文件列表; 獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址。
5.根據(jù)權(quán)利要求3所述的方法,其特征在干,根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),具體包括 根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,將距離小于預(yù)設(shè)比特?cái)?shù)的文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
6.一種應(yīng)用程序啟動(dòng)裝置,其特征在于,所述裝置包括 預(yù)取數(shù)據(jù)加載模塊,用于當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),所述預(yù)取數(shù)據(jù)包括所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊; 代碼加載模塊,用于加載所述應(yīng)用程序的代碼,以便啟動(dòng)所述應(yīng)用程序。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 預(yù)取數(shù)據(jù)獲取模塊,用于分析所述應(yīng)用程序的歷史啟動(dòng)過(guò)程,獲取所述歷史啟動(dòng)過(guò)程中應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述預(yù)取數(shù)據(jù)獲取模塊包括 獲取單元,用于獲取所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中加載的映像文件列表和發(fā)生的頁(yè)面錯(cuò)誤Page Fault的虛擬地址; 偏移量計(jì)算單元,用于根據(jù)所述映像文件列表和所述虛擬地址計(jì)算每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量;預(yù)取數(shù)據(jù)獲取単元,用于根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,對(duì)文件塊進(jìn)行合并,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取単元包括 日志獲取子単元,用于獲取所述應(yīng)用程序的日志文件; 時(shí)間段確定子単元,用于將所述日志文件中從用戶界面進(jìn)程開(kāi)始時(shí)間到顯示前景窗ロ時(shí)間之間的時(shí)間段確定為預(yù)設(shè)啟動(dòng)時(shí)間段; 映像文件列表獲取子単元,用于獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程加載的映像文件列表; 虛擬地址獲取子単元,用于獲取所述預(yù)設(shè)啟動(dòng)時(shí)間段內(nèi)進(jìn)程發(fā)生的頁(yè)面錯(cuò)誤的虛擬地址。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述預(yù)取數(shù)據(jù)獲取単元具體用于根據(jù)所述每個(gè)所述虛擬地址對(duì)應(yīng)的文件偏移量,將距離小于預(yù)設(shè)比特?cái)?shù)的文件塊進(jìn)行合并操作,得到所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種應(yīng)用程序啟動(dòng)方法和裝置,屬于計(jì)算機(jī)領(lǐng)域。所述方法包括當(dāng)接收到啟動(dòng)應(yīng)用程序的指令時(shí),加載所述應(yīng)用程序?qū)?yīng)的預(yù)取數(shù)據(jù),所述預(yù)取數(shù)據(jù)包括所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊;加載所述應(yīng)用程序的代碼,以便啟動(dòng)所述應(yīng)用程序。該裝置包括預(yù)取數(shù)據(jù)加載模塊和代碼加載模塊。本發(fā)明通過(guò)在應(yīng)用程序啟動(dòng)時(shí),先加載所述應(yīng)用程序的歷史啟動(dòng)過(guò)程中發(fā)生的頁(yè)面錯(cuò)誤對(duì)應(yīng)的文件塊,再加載應(yīng)用程序代碼,大大減少了應(yīng)用程序啟動(dòng)過(guò)程中頁(yè)面錯(cuò)誤發(fā)生的次數(shù),減輕了程序載入過(guò)程中頻繁交換內(nèi)存頁(yè)面與交換文件的現(xiàn)象,提高了應(yīng)用程序的啟動(dòng)速度和啟動(dòng)效率。
文檔編號(hào)G06F9/445GK102662690SQ20121006712
公開(kāi)日2012年9月12日 申請(qǐng)日期2012年3月14日 優(yōu)先權(quán)日2012年3月14日
發(fā)明者朱文煥, 邊超 申請(qǐng)人:騰訊科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
施甸县| 长泰县| 中山市| 绥江县| 汨罗市| 武城县| 顺平县| 绥芬河市| 清流县| 浦北县| 永寿县| 华坪县| 闻喜县| 多伦县| 措美县| 九龙坡区| 民县| 成都市| 保德县| 昆明市| 象山县| 美姑县| 阿鲁科尔沁旗| 颍上县| 洛扎县| 林州市| 沂源县| 东兴市| 清新县| 兰西县| 乐山市| 淮滨县| 山西省| 丰县| 元谋县| 内丘县| 元氏县| 弥勒县| 万载县| 竹山县| 大冶市|