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

一種啟動文件加載方法、裝置及電子設(shè)備的制作方法

文檔序號:6544299閱讀:174來源:國知局
一種啟動文件加載方法、裝置及電子設(shè)備的制作方法
【專利摘要】本發(fā)明實施例提供一種啟動文件加載方法、裝置及電子設(shè)備,其中方法包括:在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從磁盤中加載第一文件至內(nèi)存中,第一文件為啟動應(yīng)用時所需的啟動文件的部分文件;在檢測到處理器與磁盤的讀寫空閑時間段時,通過第二加載程序確定磁盤中未加載至內(nèi)存中的第二文件,第二文件為啟動文件中除第一文件外還需加載至內(nèi)存的文件,其中,在讀寫空閑時間段時,第一加載程序停止執(zhí)行;通過第二加載程序在讀寫空閑時間段,控制處理器將部分第二文件或全部第二文件從磁盤中加載至內(nèi)存中。本發(fā)明實施例能夠在應(yīng)用啟動時,實時快速的加載啟動文件,從而實現(xiàn)應(yīng)用的快速啟動。
【專利說明】一種啟動文件加載方法、裝置及電子設(shè)備

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,更具體地說,涉及一種啟動文件加載方法、裝置及 電子設(shè)備。

【背景技術(shù)】
[0002] 在啟動電子設(shè)備(如PC,智能手機等)內(nèi)所裝載的應(yīng)用時,應(yīng)用的啟動過程主要 涉及電子設(shè)備內(nèi)的三個部件:磁盤,內(nèi)存和處理器;這三個部件的具體關(guān)系為:在應(yīng)用啟動 時,需要將磁盤內(nèi)所存儲的應(yīng)用啟動所需的啟動文件加載到內(nèi)存中,處理器再根據(jù)內(nèi)存中 所加載的啟動文件進行應(yīng)用的啟動。
[0003] 目前為了縮短應(yīng)用啟動所占用的時間,提高電子設(shè)備的使用效率;電子設(shè)備所裝 載的應(yīng)用在啟動時,往往采用預(yù)取啟動文件的方式進行啟動文件的加載,具體過程為:在應(yīng) 用啟動時,先不執(zhí)行啟動操作,而是先將與啟動應(yīng)用相關(guān)的啟動文件加載到內(nèi)存中,在啟動 文件加載完畢后,再根據(jù)內(nèi)存中已加載的啟動文件進行應(yīng)用的啟動。
[0004] 本發(fā)明的發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn):現(xiàn)有采用預(yù)取啟動文件的方式進行 啟動文件的加載,需要在文件全部加載至內(nèi)存后,才進行應(yīng)用的啟動,這種方式雖然能減少 應(yīng)用啟動過程中的硬缺頁,使得應(yīng)用的啟動速度得到一定的提升;但并無法在加載啟動文 件的同時進行應(yīng)用的啟動,而是需要文件全部加載至內(nèi)存后才進行應(yīng)用的啟動,使得應(yīng)用 啟動速度的提升較為有限。


【發(fā)明內(nèi)容】

[0005] 為解決上述技術(shù)問題,本發(fā)明實施例提供一種啟動文件加載方法、裝置及電子設(shè) 備,以解決現(xiàn)有采用預(yù)取啟動文件的方式進行啟動文件的加載所存在的并無法在加載啟動 文件的同時進行應(yīng)用的啟動,而是需要文件全部加載至內(nèi)存后才進行應(yīng)用的啟動,使得應(yīng) 用啟動速度的提升較為有限的問題。
[0006] 為實現(xiàn)上述目的,本發(fā)明實施例提供如下技術(shù)方案:
[0007] -種啟動文件加載方法,包括:
[0008] 在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從磁盤中加載第一文件 至內(nèi)存中,所述第一文件為啟動應(yīng)用時所需的啟動文件的部分文件;
[0009] 在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,通過第二加載程序確定所 述磁盤中未加載至所述內(nèi)存中的第二文件,所述第二文件為所述啟動文件中除第一文件外 還需加載至所述內(nèi)存的文件,其中,在所述讀寫空閑時間段時,所述第一加載程序停止執(zhí) 行;
[0010] 通過所述第二加載程序在所述讀寫空閑時間段,控制處理器將部分所述第二文件 或全部所述第二文件從所述磁盤中加載至所述內(nèi)存中。
[0011] 一種啟動文件加載裝置,包括:
[0012] 第一加載模塊,用于在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從 磁盤中加載第一文件至內(nèi)存中,所述第一文件為啟動應(yīng)用時所需的啟動文件的部分文件;
[0013] 文件確定模塊,用于在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,通過 第二加載程序確定所述磁盤中未加載至所述內(nèi)存中的第二文件,所述第二文件為所述啟動 文件中除第一文件外還需加載至所述內(nèi)存的文件,其中,在所述讀寫空閑時間段時,所述第 一加載程序停止執(zhí)行;
[0014] 第二加載模塊,用于通過所述第二加載程序在所述讀寫空閑時間段,控制處理器 將部分所述第二文件或全部所述第二文件從所述磁盤中加載至所述內(nèi)存中。
[0015] 一種電子設(shè)備,包括上述所述的啟動文件加載裝置。
[0016] 基于上述技術(shù)方案,本發(fā)明實施例提供的啟動文件加載方法主要涉及兩個加載程 序:第一加載程序和第二加載程序;第一加載程序在檢測到應(yīng)用啟動指令時,調(diào)取執(zhí)行,從 而控制處理器從磁盤中加載第一文件至內(nèi)存中;在加載了第一文件,進行應(yīng)用啟動時,處理 器需要進行處理計算,網(wǎng)絡(luò)通信等任務(wù),此時,處理器與磁盤將存在讀寫空閑時間段,則可 停止執(zhí)行第一加載程序,調(diào)取執(zhí)行第二加載程序;第二加載程序被調(diào)取執(zhí)行后,可確定出磁 盤中未加載至內(nèi)存中的第二文件,進而在該讀寫空閑時間段,將部分或全部第二文件(主要 視讀寫空閑時間段的持續(xù)時間長度而定)從磁盤中加載至內(nèi)存中。本發(fā)明實施例可在處理 器與磁盤的讀寫空閑時間段,通過第二加載程序利用處理器未被使用的資源實現(xiàn)部分或全 部第二文件由磁盤至內(nèi)存的加載,從而加快啟動文件從磁盤至內(nèi)存的加載,使得應(yīng)用能較 為快速的啟動。并且本發(fā)明實施例所提供的第一加載程序和第二加載程序均是在檢測到應(yīng) 用啟動指令時,進行實時的啟動文件加載,能夠在檢測到應(yīng)用啟動指令時,實時快速的加載 啟動文件,從而實現(xiàn)應(yīng)用的快速啟動。

【專利附圖】

【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0018] 圖1為本發(fā)明實施例提供的啟動文件加載方法的流程圖;
[0019] 圖2為本發(fā)明實施例提供的啟動文件加載方法的另一流程圖;
[0020] 圖3為本發(fā)明實施例提供的啟動文件加載方法的再一流程圖;
[0021] 圖4為本發(fā)明實施例提供的預(yù)置文件的確定過程的方法流程圖;
[0022] 圖5為本發(fā)明實施例提供的對原始磁盤讀寫行為記錄進行處理的方法流程圖;
[0023] 圖6為本發(fā)明實施例提供的啟動文件加載裝置的結(jié)構(gòu)框圖;
[0024] 圖7為本發(fā)明實施例提供的文件確定模塊的結(jié)構(gòu)框圖;
[0025] 圖8為本發(fā)明實施例提供的確定單元的結(jié)構(gòu)框圖;
[0026] 圖9為本發(fā)明實施例提供的啟動文件加載裝置的另一結(jié)構(gòu)框圖;
[0027] 圖10為本發(fā)明實施例提供的處理模塊的結(jié)構(gòu)框圖;
[0028] 圖11為本發(fā)明實施例提供的關(guān)系建立模塊的結(jié)構(gòu)框圖;
[0029] 圖12為本發(fā)明實施例提供的啟動文件加載裝置的再一結(jié)構(gòu)框圖;
[0030] 圖13為本發(fā)明實施例提供的啟動文件加載裝置的又一結(jié)構(gòu)框圖;
[0031] 圖14為本發(fā)明實施例提供的啟動文件加載裝置的又另一結(jié)構(gòu)框圖;
[0032] 圖15為本發(fā)明實施例提供的電子設(shè)備的硬件結(jié)構(gòu)框圖。

【具體實施方式】
[0033] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0034] 圖1為本發(fā)明實施例提供的啟動文件加載方法的流程圖,該啟動文件加載方法可 應(yīng)用于裝載有應(yīng)用的電子設(shè)備中,電子設(shè)備可以是PC (personal computer,個人計算機), 智能手機,平板電腦等;參照圖1,該方法可以包括:
[0035] 步驟S100、在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從磁盤中加 載第一文件至內(nèi)存中,所述第一文件為啟動應(yīng)用時所需的啟動文件的部分文件;
[0036] 應(yīng)用啟動指令是用于進行應(yīng)用的啟動,應(yīng)用的啟動可由用戶行為觸發(fā),如用戶點 擊了應(yīng)用在桌面上的圖標(biāo),觸發(fā)了應(yīng)用啟動指令,從而執(zhí)行應(yīng)用的啟動流程;顯然,應(yīng)用的 啟動也可由電子設(shè)備自動觸發(fā),如可在設(shè)定時刻(如開機時)設(shè)置某一應(yīng)用啟動運行,則在 該設(shè)定時刻到來時,電子設(shè)備可生成應(yīng)用啟動指令,自動觸發(fā)應(yīng)用啟動運行??蛇x的,本發(fā) 明實施例所指應(yīng)用可以是操作系統(tǒng)應(yīng)用(如windows操作系統(tǒng)應(yīng)用,ios操作系統(tǒng)應(yīng)用等), 也可以是非操作系統(tǒng)應(yīng)用(如word應(yīng)用,視頻播放應(yīng)用等)。
[0037] 在檢測到應(yīng)用啟動指令后,本發(fā)明實施例可調(diào)取第一加載程序進行啟動文件由磁 盤至內(nèi)存的加載;通過第一加載程序可指引處理器從磁盤中加載啟動文件至內(nèi)存中。可選 的,第一加載程序可以是應(yīng)用中內(nèi)置的固有啟動文件加載程序,啟動文件的加載方式主要 是按照應(yīng)用編寫者的意圖進行。在本發(fā)明實施例中,第一加載程序可以是應(yīng)用在啟動時, 電子設(shè)備所調(diào)取的第一個用來加載啟動文件的加載程序,可以認為是啟動文件加載的主程 序。
[0038] 可選的,通過第一加載程序控制處理器從磁盤中加載第一文件至內(nèi)存中的方式可 以是:通過第一加載程序控制處理器根據(jù)預(yù)定應(yīng)用啟動邏輯從磁盤中加載第一文件至內(nèi)存 中。預(yù)定應(yīng)用啟動邏輯可以是應(yīng)用啟動時,指導(dǎo)處理器進行啟動文件加載的邏輯;預(yù)定應(yīng)用 啟動邏輯可以由應(yīng)用編寫者的意圖進行設(shè)置。
[0039] 由于在通過第一加載程序控制處理器從磁盤中加載啟動文件至內(nèi)存的過程中,應(yīng) 用是進行實時啟動的,處理器會根據(jù)已加載至內(nèi)存的啟動文件進行應(yīng)用的啟動,因此處理 器會根據(jù)已加載的啟動文件進行處理計算、網(wǎng)絡(luò)通信(如下載應(yīng)用更新內(nèi)容)等任務(wù);在通 過第一加載程序控制處理器從磁盤中加載啟動文件至內(nèi)存的過程中,處理器和磁盤將存在 讀寫空閑時間段,在該讀寫空閑時間段處理器將進行處理計算、網(wǎng)絡(luò)通信等任務(wù),而不通過 第一加載程序從磁盤中加載啟動文件至內(nèi)存中。本發(fā)明實施例所指的第一文件為:在讀寫 空閑時間段之前,通過第一加載程序從磁盤加載至內(nèi)存的部分啟動文件。
[0040] 步驟S110、在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,通過第二加載 程序確定所述磁盤中未加載至所述內(nèi)存中的第二文件,所述第二文件為所述啟動文件中除 第一文件外還需加載至所述內(nèi)存的文件,其中,在所述讀寫空閑時間段時,所述第一加載程 序停止執(zhí)行;
[0041] 在處理器通過第一加載程序從磁盤加載了部分啟動文件至內(nèi)存后,處理器可能會 進行處理計算、網(wǎng)絡(luò)通信等任務(wù),此時處理器與磁盤之間將存在讀寫空閑時間段,在該讀寫 空閑時間段的持續(xù)期間,第一加載程序?qū)⑼V箞?zhí)行;同時,在檢測到該讀寫空閑時間段時, 本發(fā)明實施例可調(diào)取第二加載程序,確定通過第一加載程序加載了部分啟動文件至內(nèi)存 后,還需加載至內(nèi)存的文件,即為本發(fā)明實施例所指的第二文件。
[0042] 步驟S120、通過所述第二加載程序在所述讀寫空閑時間段,控制處理器將部分所 述第二文件或全部所述第二文件從所述磁盤中加載至所述內(nèi)存中。
[0043] 在處理器與磁盤的讀寫空閑時間段的持續(xù)期間,第一加載程序?qū)⑼V箞?zhí)行,轉(zhuǎn)而 執(zhí)行第二加載程序,通過第二加載程序可指引處理器利用未被使用的處理器資源將部分或 全部第二文件從磁盤中加載至內(nèi)存??蛇x的,通過第二加載程序所加載的第二文件的多少 主要是根據(jù)該讀寫空閑時間段的持續(xù)時間而定,若該讀寫空閑時間段的持續(xù)時間足夠長, 則本發(fā)明實施例可通過第二加載程序?qū)⑷康牡诙募拇疟P加載到內(nèi)存中,若該讀寫空 閑時間段持續(xù)時間較短,則本發(fā)明實施例只能通過第二加載程序?qū)⒉糠值牡诙募拇疟P 加載到內(nèi)存中。
[0044] 本發(fā)明實施例提供的啟動文件加載方法主要涉及兩個加載程序:第一加載程序和 第二加載程序;第一加載程序在檢測到應(yīng)用啟動指令時,調(diào)取執(zhí)行,從而控制處理器從磁盤 中加載第一文件至內(nèi)存中;在加載了第一文件,進行應(yīng)用啟動時,處理器需要進行處理計 算,網(wǎng)絡(luò)通信等任務(wù),此時,處理器與磁盤將存在讀寫空閑時間段,則可停止執(zhí)行第一加載 程序,調(diào)取執(zhí)行第二加載程序;第二加載程序被調(diào)取執(zhí)行后,可確定出磁盤中未加載至內(nèi)存 中的第二文件,進而在該讀寫空閑時間段,將部分或全部第二文件(主要視讀寫空閑時間段 的持續(xù)時間長度而定)從磁盤中加載至內(nèi)存中。本發(fā)明實施例可在處理器與磁盤的讀寫空 閑時間段,通過第二加載程序利用處理器未被使用的資源實現(xiàn)部分或全部第二文件由磁盤 至內(nèi)存的加載,從而加快啟動文件從磁盤至內(nèi)存的加載,使得應(yīng)用能較為快速的啟動。并且 本發(fā)明實施例所提供的第一加載程序和第二加載程序均是在檢測到應(yīng)用啟動指令時,進行 實時的啟動文件加載,能夠在檢測到應(yīng)用啟動指令時,實時快速的加載啟動文件,從而實現(xiàn) 應(yīng)用的快速啟動。
[0045] 可選的,在該讀寫空閑時間段結(jié)束后,若通過第二加載程序并未將全部第二文件 由磁盤加載內(nèi)存中,則本發(fā)明實施例可恢復(fù)執(zhí)行第一加載程序,停止執(zhí)行第二加載程序,通 過第一加載程序進行剩余啟動文件的加載,若在進行剩余啟動文件的加載過程中,再次出 現(xiàn)處理器與磁盤的讀寫空閑時間段,則可再次停止執(zhí)行第一加載程序,調(diào)取執(zhí)行第二加載 程序進行余下的啟動文件由磁盤至內(nèi)存的加載;上述過程可重復(fù)執(zhí)行,直至全部啟動文件 由磁盤加載至內(nèi)存中。
[0046] 對應(yīng)的,圖2示出了本發(fā)明實施例提供的啟動文件加載方法的另一流程圖,參照 圖2,該方法可以包括:
[0047] 步驟S200、檢測到應(yīng)用啟動指令;
[0048] 步驟S210、通過第一加載程序控制處理器將磁盤中需加載至內(nèi)存的啟動文件加載 至內(nèi)存中;
[0049] 步驟S220、判斷處理器與磁盤是否存在讀寫空閑時間段,若是,執(zhí)行步驟S230,若 否,執(zhí)行步驟S210 ;
[0050] 步驟S230、在磁盤中還存在有未加載至內(nèi)存的啟動文件時,停止執(zhí)行第一加載程 序,通過第二加載程序確定所述磁盤中還需加載至內(nèi)存的啟動文件;
[0051] 步驟S240、通過所述第二加載程序在所述讀寫空閑時間段,控制處理器將磁盤中 還需加載至內(nèi)存的啟動文件加載至內(nèi)存中;
[0052] 步驟S250、若在所述讀寫空閑時間段內(nèi),通過所述第二加載程序?qū)⒋疟P中還需加 載至內(nèi)存的啟動文件全部加載至內(nèi)存中,則啟動文件全部加載完畢;
[0053] 步驟S260、若在所述讀寫空閑時間段結(jié)束時,磁盤中還有需加載至內(nèi)存的啟動文 件,則停止執(zhí)行第二加載程序,恢復(fù)執(zhí)行第一加載程序,返回步驟S210。
[0054] 值得注意的是,本發(fā)明實施例在將啟動文件由磁盤加載至內(nèi)存的過程中,應(yīng)用是 處于實時啟動狀態(tài)的。
[0055] 可選的,在圖1所示方法中,通過所述第二加載程序在所述讀寫空閑時間段,控制 處理器將部分所述第二文件從所述磁盤中加載至所述內(nèi)存中后,若該讀寫空閑時間段結(jié) 束,則本發(fā)明實施例可停止執(zhí)行第二加載程序,恢復(fù)執(zhí)行第一加載程序,重新通過第一加載 程序?qū)崿F(xiàn)磁盤中未加載至內(nèi)存的啟動文件的加載。對應(yīng)的,圖3示出了本發(fā)明實施例提供 的啟動文件加載方法的再一流程圖,結(jié)合圖1和圖3所示,圖3所示方法包括:
[0056] 步驟S300、在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從磁盤中加 載第一文件至內(nèi)存中,所述第一文件為啟動應(yīng)用時所需的啟動文件的部分文件;
[0057] 步驟S310、在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,通過第二加載 程序確定所述磁盤中未加載至所述內(nèi)存中的第二文件,所述第二文件為所述啟動文件中除 第一文件外還需加載至所述內(nèi)存的文件,其中,在所述讀寫空閑時間段時,所述第一加載程 序停止執(zhí)行;
[0058] 步驟S320、通過所述第二加載程序在所述讀寫空閑時間段,控制處理器將部分所 述第二文件從所述磁盤中加載至所述內(nèi)存中;
[0059] 步驟S330、在所述讀寫空閑時間段結(jié)束后,通過第一加載程序控制處理器從磁盤 中加載第三文件至內(nèi)存中,所述第三文件為所述第二文件中還需加載至所述內(nèi)存的文件, 其中,在所述讀寫空閑時間段結(jié)束時,所述第一加載程序開始執(zhí)行,所述第二加載程序停止 執(zhí)行。
[0060] 可選的,本發(fā)明實施例可以設(shè)置有預(yù)置文件,預(yù)置文件中記錄有啟動應(yīng)用與對應(yīng) 啟動文件的對應(yīng)關(guān)系;在檢測到處理器與磁盤的讀寫空閑時間段,調(diào)取第二加載程序進行 啟動文件的加載時,本發(fā)明實施例可根據(jù)預(yù)置文件確定第二文件,即確定出磁盤中除通過 第一加載程序已加載至內(nèi)存的第一文件外,還需加載的文件。預(yù)置文件中表征啟動應(yīng)用與 對應(yīng)啟動文件的對應(yīng)關(guān)系的方式可以是:在預(yù)置文件中記錄從磁盤加載啟動文件至內(nèi)存 時,所對應(yīng)的磁盤讀寫行為記錄與啟動應(yīng)用的對應(yīng)關(guān)系。在此基礎(chǔ)上,本發(fā)明實施例在調(diào)取 第二加載程序后,可確定出第一文件所對應(yīng)的第一磁盤讀寫行為記錄,從所述預(yù)置文件中 記錄的與啟動應(yīng)用對應(yīng)的磁盤讀寫行為記錄中,去除第一磁盤讀寫行為記錄,形成與第二 文件所對應(yīng)的磁盤讀寫行為記錄;進而通過第二文件對應(yīng)的磁盤讀寫行為記錄確定第二文 件。
[0061] 可選的,在得到與第二文件所對應(yīng)的磁盤讀寫行為記錄后,本發(fā)明實施例可根據(jù) 所述第二文件對應(yīng)的磁盤讀寫行為記錄,控制處理器將所述磁盤中與所述第二文件對應(yīng)的 磁盤讀寫行為記錄對應(yīng)的部分文件加載至所述內(nèi)存中;或者,根據(jù)所述第二文件對應(yīng)的磁 盤讀寫行為記錄,控制處理器將所述磁盤中與所述第二文件對應(yīng)的磁盤讀寫行為記錄對應(yīng) 的全部文件加載至所述內(nèi)存中。
[0062] 可選的,預(yù)置文件的確定過程可以為:在檢測到應(yīng)用啟動指令時,監(jiān)控處理器從磁 盤中加載啟動文件至內(nèi)存,所對應(yīng)的原始磁盤讀寫行為記錄,將原始磁盤讀寫行為記錄進 行處理后,建立處理后的磁盤讀寫行為記錄與啟動應(yīng)用的對應(yīng)關(guān)系,生成預(yù)置文件??蛇x 的,原始磁盤讀寫行為記錄表征的是啟動應(yīng)用對應(yīng)的所有磁盤讀寫行為軌跡,包括操作時 間、文件、磁盤對象、讀/寫操作類型、操作范圍(文件偏移和長度)、操作結(jié)果等。
[0063] 可選的,監(jiān)控處理器從磁盤中加載啟動文件至內(nèi)存,所對應(yīng)的原始磁盤讀寫行為 記錄可以是:在通過第一加載程序控制處理器從磁盤中加載全部啟動文件至內(nèi)存時,監(jiān)控 所對應(yīng)的原始磁盤讀寫行為記錄;即此時,只通過第一加載程序進行全部啟動文件由磁盤 至內(nèi)存的加載??蛇x的,本發(fā)明實施例可通過第一加載程序,根據(jù)預(yù)定應(yīng)用啟動邏輯控制處 理器從磁盤中加載全部啟動文件至內(nèi)存中。對應(yīng)的,圖4示出了本發(fā)明實施例提供的預(yù)置 文件的確定過程的方法流程,參照圖4,該方法可以包括:
[0064] 步驟S400、在檢測到應(yīng)用啟動指令時,獲取通過第一加載程序控制處理器從磁盤 中加載所述啟動文件至所述內(nèi)存,所對應(yīng)的原始磁盤讀寫行為記錄;
[0065] 步驟S410、對原始磁盤讀寫行為記錄進行處理,建立處理后的磁盤讀寫行為記錄 與所述應(yīng)用的對應(yīng)關(guān)系,生成所述預(yù)置文件。
[0066] 可選的,對原始磁盤讀寫行為記錄進行處理的方式可以是對原始磁盤讀寫行為記 錄進行過濾、合并、去重等處理;對應(yīng)的,圖5示出了一種對原始磁盤讀寫行為記錄進行處 理的方法流程,參照圖5,該方法可以包括:
[0067] 步驟S500、對原始磁盤讀寫行為記錄中,與所述內(nèi)存中已存儲的記錄相重合的記 錄進行過濾;
[0068] 進行處理前的磁盤讀寫行為記錄可以認為是原始的磁盤讀寫行為記錄數(shù)據(jù),其中 包括了進程名、文件名、文件偏移、文件讀寫長度、打開/關(guān)閉/讀/寫、訪問時間、訪問頻 率、訪問結(jié)果等數(shù)據(jù)。
[0069] 由于在應(yīng)用啟動過程中,內(nèi)存中可能已經(jīng)存儲了一些與磁盤讀寫行為記錄一致的 記錄,因此這部分內(nèi)存中已存儲的與磁盤讀寫行為記錄相同的記錄需要進行過濾剔除,以 提高磁盤讀寫行為記錄的處理效率。如在應(yīng)用啟動過程中,會讀取操作系統(tǒng)的數(shù)據(jù),這個數(shù) 據(jù)已經(jīng)存在于內(nèi)存中,而原始磁盤讀寫行為記錄中如果包含這個記錄,則為了處理效率,可 以把這個記錄剔除掉。
[0070] 步驟S510、將過濾后的磁盤讀寫行為記錄中,讀取同一文件時相鄰的讀取記錄進 行合并;
[0071] 過濾后的磁盤讀寫行為記錄中可能會存在讀取同一文件時,相鄰的讀取記錄,本 發(fā)明實施例可將這些相鄰的記錄合并成一條記錄;如存在兩條讀取同一文件的記錄,分別 為進程A讀取文件B中的第100字節(jié),進程A讀取文件B中的第101字節(jié),則這兩條記錄為相 鄰記錄,此時可合并這兩條記錄為同一條記錄,如合并成進程A讀取文件B中的第100-101 字節(jié)??蛇x的,本發(fā)明實施例中合并的粒度可以進行設(shè)置。本發(fā)明實施例通過合并可減少 實時加載啟動文件過程中的磁盤讀取次數(shù)。
[0072] 步驟S520、對合并后的磁盤讀寫行為記錄進行去重處理,使得讀取同一文件的多 個記錄所對應(yīng)的訪問區(qū)間互不重疊;
[0073] 在對磁盤讀寫行為記錄進行合并后,有可能其中讀取同一文件的兩條以上記錄所 包含的文件訪問區(qū)間存在重疊的部分,如進程A讀取文件B中的第100-120個字節(jié);進程A 讀取文件B中的第110-115個字節(jié),則這兩條記錄所包含的文件訪問區(qū)間即存在重疊的部 分(第110-115個字節(jié)),因此需要將重疊的部分進行去重處理,得到去重處理后的結(jié)果:進 程A讀取文件B中的第100-120個字節(jié);使得讀取同一文件的多個記錄所對應(yīng)的訪問區(qū)間 互不重疊。
[0074] 通過去重處理可使得實時加載啟動文件的過程中每一次磁盤讀寫操作能夠讀取 到盡量多的有效數(shù)據(jù)。
[0075] 步驟S530、將去重處理后的磁盤讀寫行為記錄進行格式化處理,以使去重處理后 的磁盤讀寫行為記錄所對應(yīng)的文件絕對路徑轉(zhuǎn)化為相對路徑;
[0076] 由于每一個應(yīng)用在不同機器上安裝的路徑不一樣,所以需要根據(jù)配置信息中應(yīng) 用的安裝路徑,將去重處理后的磁盤讀寫行為記錄中的絕對路徑轉(zhuǎn)換成相對路徑,比如進 程 A 讀取文件 C: \Program Files (x86) \pingguo\B. dat 中的第 100-110 個字節(jié),那么格 式化后就變成了進程A讀取文件INSTALLPath\B. dat,INSTALLPath就代表了 C: \Program Files (x86) \pingguo\,這個是應(yīng)用相對安裝路徑。
[0077] 對應(yīng)的,建立格式化處理的磁盤讀寫行為記錄與啟動應(yīng)用的對應(yīng)關(guān)系,即可生成 預(yù)置文件。
[0078] 可選的,本發(fā)明實施例對于一個應(yīng)用可以對應(yīng)一份預(yù)置文件,預(yù)置文件可加入到 文件列表中,該文件列表中可記錄有多個應(yīng)用所對應(yīng)的預(yù)置文件;在某一應(yīng)用啟動,本發(fā)明 實施例調(diào)取執(zhí)行第二加載程序時,可從文件列表中確定出啟動應(yīng)用對應(yīng)的預(yù)置文件,從而 通過所確定的預(yù)置文件進行部分或全部第二文件由磁盤至內(nèi)存的加載。
[0079] 本發(fā)明實施例提供的啟動文件加載方法主要可以涉及三個部分:行為監(jiān)控部分, 學(xué)習(xí)部分和加速加載部分。
[0080] 其中,行為監(jiān)控部分包括對終端設(shè)備中的進程監(jiān)控,文件監(jiān)控,窗口監(jiān)控和網(wǎng)絡(luò)監(jiān) 控,從而對需要進行啟動文件加速加載的應(yīng)用的行為進行監(jiān)控。
[0081] 在進行預(yù)置文件的生成時,行為監(jiān)控部分監(jiān)控到應(yīng)用被觸發(fā)啟動時,學(xué)習(xí)部分將 開始工作,具體工作流程可如圖4和圖5所示,從而跟蹤應(yīng)用的所有I/O行為軌跡,包括操 作時間、文件、磁盤對象、讀/寫操作類型、操作范圍、操作結(jié)果等;然后對這些I/O行為軌跡 信息進行過濾、合并、去重和格式化處理,建立處理后的行為軌跡信息與應(yīng)用的對應(yīng)關(guān)系, 最后會生成預(yù)置文件。
[0082] 在預(yù)置文件生成后,當(dāng)行為監(jiān)控部分監(jiān)控到預(yù)置文件對應(yīng)的應(yīng)用被觸發(fā)啟動時, 加速加載部分將開始工作,具體工作流程可如圖1,圖2和圖3所示,從而根據(jù)學(xué)習(xí)部分所生 成的預(yù)置文件,在檢測到處理器與磁盤的讀寫空閑時間段時,通過第二加載程序確定磁盤 中未加載至內(nèi)存中的第二文件,從而通過第二加載程序在讀寫空閑時間段,控制處理器將 部分第二文件或全部第二文件從磁盤中加載至內(nèi)存中,實現(xiàn)啟動文件的加速加載。
[0083] 可選的,本發(fā)明實施例提供的啟動文件加載方法還可以涉及配置部分,配置部分 可對行為監(jiān)控部分,學(xué)習(xí)部分和加速加載部分進行信息配置;包括對需要進行啟動文件加 速加載的應(yīng)用進行配置(對應(yīng)的應(yīng)用也需要進行預(yù)置文件的生成),對學(xué)習(xí)部分的預(yù)置文件 生成時機進行配置,對加速加載部分的加速時機進行配置等。
[0084] 可選的,下面以啟動電子設(shè)備所裝載的一游戲應(yīng)用的啟動為例,對本發(fā)明實施例 提供的啟動文件加載方法進行描述,下文描述僅為便于理解本發(fā)明實施例提供的啟動文件 加載方法,其不應(yīng)成為本發(fā)明實施例保護范圍的限制。
[0085] 在檢測到游戲應(yīng)用的啟動指令時,調(diào)取第一加載程序從而控制處理器從磁盤中加 載游戲應(yīng)用的啟動文件至內(nèi)存中;可選的,調(diào)取第一加載程序控制處理器從磁盤中加載游 戲應(yīng)用的啟動文件至內(nèi)存的方式可以是,調(diào)取第一加載程序后,根據(jù)預(yù)定應(yīng)用啟動邏輯從 磁盤中加載游戲應(yīng)用的啟動文件至內(nèi)存中;
[0086] 處理器可根據(jù)已加載至內(nèi)存中的啟動文件對游戲應(yīng)用進行實時啟動,在啟動游戲 應(yīng)用的過程中,由于需要對啟動文件進行計算處理,或通過網(wǎng)絡(luò)通信下載游戲應(yīng)用的更新 內(nèi)容,因此處理器與磁盤將存在讀寫空閑時間段;
[0087] 在檢測到該讀寫空閑時間段時,停止執(zhí)行第一加載程序,調(diào)取執(zhí)行第二加載程序, 根據(jù)預(yù)置文件確定所述磁盤中還需加載至內(nèi)存的啟動文件,進而通過所述第二加載程序在 所述讀寫空閑時間段,控制處理器將部分或全部還需加載至內(nèi)存的啟動文件從所述磁盤中 加載至所述內(nèi)存中。在處理器與磁盤存在讀寫空閑時間段時,本發(fā)明實施例可利用處理器 未被使用的資源,通過第二加載程序在該讀寫空閑時間段進行啟動文件的加載,提升啟動 文件的加載速度,提升游戲應(yīng)用實時啟動的速度。
[0088] 本發(fā)明已經(jīng)針對windows操作系統(tǒng),常用辦公應(yīng)用,第三方游戲應(yīng)用進行了應(yīng)用 和效果分析。通過實時加速,游戲主程序啟動速度能夠提升30%左右,游戲地圖加載能夠提 升40%左右,MS Word能夠提升30%左右,操作系統(tǒng)啟動能夠提升35%左右。操作系統(tǒng)和應(yīng) 用應(yīng)用啟動和運行速度都得到了明顯的提升。下表示出一些應(yīng)用的啟動速度對比數(shù)據(jù),可 進行參照:
[0089]

【權(quán)利要求】
1. 一種啟動文件加載方法,其特征在于,包括: 在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從磁盤中加載第一文件至內(nèi) 存中,所述第一文件為啟動應(yīng)用時所需的啟動文件的部分文件; 在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,通過第二加載程序確定所述磁 盤中未加載至所述內(nèi)存中的第二文件,所述第二文件為所述啟動文件中除第一文件外還需 加載至所述內(nèi)存的文件,其中,在所述讀寫空閑時間段時,所述第一加載程序停止執(zhí)行; 通過所述第二加載程序在所述讀寫空閑時間段,控制處理器將部分所述第二文件或全 部所述第二文件從所述磁盤中加載至所述內(nèi)存中。
2. 根據(jù)權(quán)利要求1所述的啟動文件加載方法,其特征在于,所述通過第二加載程序確 定所述磁盤中未加載至所述內(nèi)存中的第二文件包括: 在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,根據(jù)預(yù)置文件確定第二文件, 所述預(yù)置文件記錄有所述應(yīng)用與對應(yīng)啟動文件的對應(yīng)關(guān)系。
3. 根據(jù)權(quán)利要求2所述的啟動文件加載方法,其特征在于,所述預(yù)置文件記錄有所述 應(yīng)用與對應(yīng)啟動文件的對應(yīng)關(guān)系包括:所述預(yù)置文件記錄有從所述磁盤加載所述啟動文件 至所述內(nèi)存時,所對應(yīng)的磁盤讀寫行為記錄與所述應(yīng)用的對應(yīng)關(guān)系;所述根據(jù)預(yù)置文件確 定束-文件包括: 確定第一文件所對應(yīng)的第一磁盤讀寫行為記錄; 從所述預(yù)置文件中記錄的與所述應(yīng)用對應(yīng)的磁盤讀寫行為記錄中,去除所述第一磁盤 讀寫行為記錄,形成與所述第二文件所對應(yīng)的磁盤讀寫行為記錄; 通過所述第二文件對應(yīng)的磁盤讀寫行為記錄確定所述第二文件。
4. 根據(jù)權(quán)利要求2或3所述的啟動文件加載方法,其特征在于,所述預(yù)置文件的確定過 程包括: 在檢測到所述應(yīng)用啟動指令時,獲取通過第一加載程序控制處理器從磁盤中加載所述 啟動文件至所述內(nèi)存,所對應(yīng)的原始磁盤讀寫行為記錄; 對所述原始磁盤讀寫行為記錄進行處理,建立處理后的磁盤讀寫行為記錄與所述應(yīng)用 的對應(yīng)關(guān)系,生成所述預(yù)置文件。
5. 根據(jù)權(quán)利要求4所述的啟動文件加載方法,其特征在于,所述對所述原始磁盤讀寫 行為記錄進行處理包括: 對原始磁盤讀寫行為記錄中,與所述內(nèi)存中已存儲的記錄相重合的記錄進行過濾; 將過濾后的磁盤讀寫行為記錄中,讀取同一文件時相鄰的讀取記錄進行合并; 對合并后的磁盤讀寫行為記錄進行去重處理,使得讀取同一文件的多個記錄所對應(yīng)的 訪問區(qū)間互不重疊; 將去重處理后的磁盤讀寫行為記錄進行格式化處理,W使去重處理后的磁盤讀寫行為 記錄所對應(yīng)的文件絕對路徑轉(zhuǎn)化為相對路徑; 所述建立處理后的磁盤讀寫行為記錄與所述應(yīng)用的對應(yīng)關(guān)系包括: 建立格式化處理的磁盤讀寫行為記錄與所述應(yīng)用的對應(yīng)關(guān)系。
6. 根據(jù)權(quán)利要求3所述的啟動文件加載方法,其特征在于,所述控制處理器將部分所 述第二文件從所述磁盤中加載至所述內(nèi)存中包括: 根據(jù)所述第二文件對應(yīng)的磁盤讀寫行為記錄,控制處理器將所述磁盤中與所述第二文 件對應(yīng)的磁盤讀寫行為記錄對應(yīng)的部分文件加載至所述內(nèi)存中; 或,所述控制處理器將全部所述第二文件從所述磁盤中加載至所述內(nèi)存中包括: 根據(jù)所述第二文件對應(yīng)的磁盤讀寫行為記錄,控制處理器將所述磁盤中與所述第二文 件對應(yīng)的磁盤讀寫行為記錄對應(yīng)的全部文件加載至所述內(nèi)存中。
7. 根據(jù)權(quán)利要求1所述的啟動文件加載方法,其特征在于,在控制處理器將部分所述 第二文件從所述磁盤中加載至所述內(nèi)存中后,所述方法還包括: 在所述讀寫空閑時間段結(jié)束后,通過第一加載程序控制處理器從磁盤中加載第H文件 至內(nèi)存中,所述第H文件為所述第二文件中還需加載至所述內(nèi)存的文件,其中,在所述讀寫 空閑時間段結(jié)束時,所述第一加載程序開始執(zhí)行,所述第二加載程序停止執(zhí)行。
8. 根據(jù)權(quán)利要求1或2或3或5或6或7所述的啟動文件加載方法,其特征在于,所述 通過第一加載程序控制處理器從磁盤中加載第一文件至內(nèi)存中包括: 通過第一加載程序控制處理器根據(jù)預(yù)定應(yīng)用啟動邏輯從磁盤中加載第一文件至內(nèi)存 中。
9. 一種啟動文件加載裝置,其特征在于,包括: 第一加載模塊,用于在檢測到應(yīng)用啟動指令時,通過第一加載程序控制處理器從磁盤 中加載第一文件至內(nèi)存中,所述第一文件為啟動應(yīng)用時所需的啟動文件的部分文件; 文件確定模塊,用于在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,通過第二 加載程序確定所述磁盤中未加載至所述內(nèi)存中的第二文件,所述第二文件為所述啟動文件 中除第一文件外還需加載至所述內(nèi)存的文件,其中,在所述讀寫空閑時間段時,所述第一加 載程序停止執(zhí)行; 第二加載模塊,用于通過所述第二加載程序在所述讀寫空閑時間段,控制處理器將部 分所述第二文件或全部所述第二文件從所述磁盤中加載至所述內(nèi)存中。
10. 根據(jù)權(quán)利要求9所述的啟動文件加載裝置,其特征在于,所述文件確定模塊包括: 確定單元,用于在檢測到所述處理器與所述磁盤的讀寫空閑時間段時,根據(jù)預(yù)置文件 確定第二文件,所述預(yù)置文件記錄有所述應(yīng)用與對應(yīng)啟動文件的對應(yīng)關(guān)系。
11. 根據(jù)權(quán)利要求10所述的啟動文件加載裝置,其特征在于,所述預(yù)置文件記錄有所 述應(yīng)用與對應(yīng)啟動文件的對應(yīng)關(guān)系包括;所述預(yù)置文件記錄有從所述磁盤加載所述啟動 文件至所述內(nèi)存時,所對應(yīng)的磁盤讀寫行為記錄與所述應(yīng)用的對應(yīng)關(guān)系;所述確定單元包 括: 第一記錄確定子單元,用于確定第一文件所對應(yīng)的第一磁盤讀寫行為記錄; 去除子單元,用于從所述預(yù)置文件中記錄的與所述應(yīng)用對應(yīng)的磁盤讀寫行為記錄中, 去除所述第一磁盤讀寫行為記錄,形成與所述第二文件所對應(yīng)的磁盤讀寫行為記錄; 第二記錄確定子單元,用于通過所述第二文件對應(yīng)的磁盤讀寫行為記錄確定所述第二 文件。
12. 根據(jù)權(quán)利要求10或11所述的啟動文件加載裝置,其特征在于,所述啟動文件加載 裝置還包括: 獲取模塊,用于在檢測到所述應(yīng)用啟動指令時,獲取通過第一加載程序控制處理器從 磁盤中加載所述啟動文件至所述內(nèi)存,所對應(yīng)的原始磁盤讀寫行為記錄; 處理模塊,用于對所述原始磁盤讀寫行為記錄進行處理; 關(guān)系建立模塊,用于建立處理后的磁盤讀寫行為記錄與所述應(yīng)用的對應(yīng)關(guān)系,生成所 述預(yù)置文件。
13. 根據(jù)權(quán)利要求12所述的啟動文件加載裝置,其特征在于,所述處理模塊包括: 過濾單元,用于對原始磁盤讀寫行為記錄中,與所述內(nèi)存中已存儲的記錄相重合的記 錄進行過濾; 合并單元,用于將過濾后的磁盤讀寫行為記錄中,讀取同一文件時相鄰的讀取記錄進 行合并; 去重單元,用于對合并后的磁盤讀寫行為記錄進行去重處理,使得讀取同一文件的多 個記錄所對應(yīng)的訪問區(qū)間互不重疊; 格式化單元,用于將去重處理后的磁盤讀寫行為記錄進行格式化處理,W使去重處理 后的磁盤讀寫行為記錄所對應(yīng)的文件絕對路徑轉(zhuǎn)化為相對路徑; 所述關(guān)系建立模塊包括: 建立單元,用于建立格式化處理的磁盤讀寫行為記錄與所述應(yīng)用的對應(yīng)關(guān)系。
14. 根據(jù)權(quán)利要求9所述的啟動文件加載裝置,其特征在于,所述啟動文件加載裝置還 包括: 第一加載恢復(fù)模塊,用于在所述讀寫空閑時間段結(jié)束后,通過第一加載程序控制處理 器從磁盤中加載第H文件至內(nèi)存中,所述第H文件為所述第二文件中還需加載至所述內(nèi)存 的文件,其中,在所述讀寫空閑時間段結(jié)束時,所述第一加載程序開始執(zhí)行,所述第二加載 程序停止執(zhí)行。
15. -種電子設(shè)備,其特征在于,包括權(quán)利要求9-14任一項所述的啟動文件加載裝置。
【文檔編號】G06F9/445GK104346194SQ201410158988
【公開日】2015年2月11日 申請日期:2014年4月18日 優(yōu)先權(quán)日:2014年4月18日
【發(fā)明者】張大鵬, 朱儀姣, 魏雪, 王文強 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1