1.一種軟件啟動(dòng)方法,所述方法包括:
獲取配置信息;
根據(jù)所述配置信息確定目標(biāo)軟件的啟動(dòng)加速等級(jí);
獲取確定的啟動(dòng)加速等級(jí)所對(duì)應(yīng)的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量;
根據(jù)確定的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中;
根據(jù)預(yù)讀到內(nèi)存中的數(shù)據(jù)啟動(dòng)所述目標(biāo)軟件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定的啟動(dòng)加速等級(jí)為第一啟動(dòng)加速等級(jí);所述根據(jù)確定的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中,包括:
打開(kāi)所述目標(biāo)軟件的全部啟動(dòng)文件后,從打開(kāi)的全部啟動(dòng)文件中預(yù)讀數(shù)據(jù)到內(nèi)存中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述打開(kāi)所述目標(biāo)軟件的全部啟動(dòng)文件后,從打開(kāi)的全部啟動(dòng)文件中預(yù)讀數(shù)據(jù)到內(nèi)存中之前,還包括:
將所述目標(biāo)軟件的啟動(dòng)進(jìn)程掛起;
所述打開(kāi)所述目標(biāo)軟件的全部啟動(dòng)文件后,從打開(kāi)的全部啟動(dòng)文件中預(yù)讀數(shù)據(jù)到內(nèi)存中之后,還包括:
恢復(fù)所述啟動(dòng)進(jìn)程。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述目標(biāo)軟件的啟動(dòng)進(jìn)程掛起,包括:
通過(guò)注冊(cè)到操作系統(tǒng)的自定義函數(shù),接收系統(tǒng)回調(diào)函數(shù)接口在目標(biāo)軟件的啟動(dòng)進(jìn)程啟動(dòng)時(shí)發(fā)出的第一通知并等待;
所述恢復(fù)所述啟動(dòng)進(jìn)程,包括:
通過(guò)所述自定義函數(shù)向所述系統(tǒng)回調(diào)函數(shù)接口反饋第二通知,使所述操作系統(tǒng)繼續(xù)運(yùn)行所述啟動(dòng)進(jìn)程。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定的啟動(dòng)加速等級(jí)為第二啟動(dòng)加速等級(jí);所述根據(jù)確定的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中,包括:
循環(huán)執(zhí)行打開(kāi)所述目標(biāo)軟件的數(shù)量為單次預(yù)讀文件數(shù)量的啟動(dòng)文件,并預(yù)讀每次打開(kāi)的啟動(dòng)文件中的數(shù)據(jù)到內(nèi)存中的步驟,直至將所述目標(biāo)軟件全部啟動(dòng)文件的數(shù)據(jù)預(yù)讀到內(nèi)存中。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定的啟動(dòng)加速等級(jí)為第三啟動(dòng)加速等級(jí);所述根據(jù)確定的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中,包括:
循環(huán)執(zhí)行打開(kāi)所述目標(biāo)軟件的一個(gè)啟動(dòng)文件,并預(yù)讀打開(kāi)的啟動(dòng)文件中的數(shù)據(jù)到內(nèi)存中的步驟,直至將所述目標(biāo)軟件全部啟動(dòng)文件的數(shù)據(jù)預(yù)讀到內(nèi)存中。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述方法還包括:
通過(guò)目標(biāo)軟件的啟動(dòng)進(jìn)程從目標(biāo)軟件的啟動(dòng)文件中讀取數(shù)據(jù);
所述根據(jù)預(yù)讀到內(nèi)存中的數(shù)據(jù)啟動(dòng)所述目標(biāo)軟件,包括:
根據(jù)所述啟動(dòng)進(jìn)程讀取的數(shù)據(jù)和預(yù)讀到內(nèi)存中的數(shù)據(jù)啟動(dòng)所述目標(biāo)軟件。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述配置信息確定目標(biāo)軟件的啟動(dòng)加速等級(jí),包括:
根據(jù)所述配置信息確定目標(biāo)軟件的啟動(dòng)階段劃分,并確定各啟動(dòng)階段的啟動(dòng)加速等級(jí);
所述根據(jù)確定的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中,包括:
在各啟動(dòng)階段,分別采用相應(yīng)啟動(dòng)階段的啟動(dòng)加速等級(jí)對(duì)應(yīng)的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
統(tǒng)計(jì)目標(biāo)軟件的啟動(dòng)行為參數(shù);所述啟動(dòng)行為參數(shù)包括:原始啟動(dòng)時(shí)長(zhǎng)、啟動(dòng)文件數(shù)量、啟動(dòng)文件大小、啟動(dòng)階段劃分以及啟動(dòng)時(shí)文件讀操作行為屬性中的至少一種;
根據(jù)統(tǒng)計(jì)的啟動(dòng)行為參數(shù)生成相應(yīng)的啟動(dòng)加速等級(jí)記錄到配置文件中;
所述獲取配置信息,包括:
從配置文件中讀取配置信息。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
獲取到啟動(dòng)所述目標(biāo)軟件結(jié)束的通知后,上報(bào)啟動(dòng)加速結(jié)果到服務(wù)器;所述啟動(dòng)加速結(jié)果包括:?jiǎn)?dòng)加速是否成功,是否預(yù)讀了目標(biāo)軟件的全部啟動(dòng)文件和預(yù)讀的啟動(dòng)文件數(shù)量中的至少一種。
11.一種軟件啟動(dòng)裝置,其特征在于,所述裝置包括:
配置信息獲取模塊,用于獲取配置信息;
啟動(dòng)加速等級(jí)確定模塊,用于根據(jù)所述配置信息確定目標(biāo)軟件的啟動(dòng)加速等級(jí);
獲取模塊,用于獲取確定的啟動(dòng)加速等級(jí)所對(duì)應(yīng)的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量;
預(yù)讀模塊,用于根據(jù)確定的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中;
啟動(dòng)模塊,用于根據(jù)預(yù)讀到內(nèi)存中的數(shù)據(jù)啟動(dòng)所述目標(biāo)軟件。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述確定的啟動(dòng)加速等級(jí)為第一啟動(dòng)加速等級(jí);所述預(yù)讀模塊還用于打開(kāi)所述目標(biāo)軟件的全部啟動(dòng)文件后,從打開(kāi)的全部啟動(dòng)文件中預(yù)讀數(shù)據(jù)到內(nèi)存中。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括:
啟動(dòng)進(jìn)程掛起模塊,用于打開(kāi)所述目標(biāo)軟件的全部啟動(dòng)文件之前,將所述目標(biāo)軟件的啟動(dòng)進(jìn)程掛起;
啟動(dòng)進(jìn)程恢復(fù)模塊,用于在從打開(kāi)的全部啟動(dòng)文件中預(yù)讀數(shù)據(jù)到內(nèi)存中之后,恢復(fù)所述啟動(dòng)進(jìn)程。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述啟動(dòng)進(jìn)程掛起模塊還用于通過(guò)注冊(cè)到操作系統(tǒng)的自定義函數(shù),接收系統(tǒng)回調(diào)函數(shù)接口在目標(biāo)軟件的啟動(dòng)進(jìn)程啟動(dòng)時(shí)發(fā)出的第一通知并等待;
所述啟動(dòng)進(jìn)程恢復(fù)模塊還用于通過(guò)所述自定義函數(shù)向所述系統(tǒng)回調(diào)函數(shù)接口反饋第二通知,使所述操作系統(tǒng)繼續(xù)運(yùn)行所述啟動(dòng)進(jìn)程。
15.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述確定的啟動(dòng)加速等級(jí)為第二啟動(dòng)加速等級(jí);所述預(yù)讀模塊還用于循環(huán)執(zhí)行打開(kāi)所述目標(biāo)軟件的數(shù)量 為單次預(yù)讀文件數(shù)量的啟動(dòng)文件,并預(yù)讀每次打開(kāi)的啟動(dòng)文件中的數(shù)據(jù)到內(nèi)存中,直至將所述目標(biāo)軟件全部啟動(dòng)文件的數(shù)據(jù)預(yù)讀到內(nèi)存中。
16.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述確定的啟動(dòng)加速等級(jí)為第三啟動(dòng)加速等級(jí);所述預(yù)讀模塊還用于循環(huán)執(zhí)行打開(kāi)所述目標(biāo)軟件的一個(gè)啟動(dòng)文件,并預(yù)讀打開(kāi)的啟動(dòng)文件中的數(shù)據(jù)到內(nèi)存中,直至將所述目標(biāo)軟件全部啟動(dòng)文件的數(shù)據(jù)預(yù)讀到內(nèi)存中。
17.根據(jù)權(quán)利要求15或16所述的裝置,其特征在于,所述啟動(dòng)模塊還用于根據(jù)預(yù)讀到內(nèi)存中的數(shù)據(jù)和目標(biāo)軟件的啟動(dòng)進(jìn)程從啟動(dòng)文件中讀取到的數(shù)據(jù)啟動(dòng)所述目標(biāo)軟件。
18.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述啟動(dòng)加速等級(jí)確定模塊還用于根據(jù)所述配置信息確定目標(biāo)軟件的啟動(dòng)階段劃分,并確定各啟動(dòng)階段的啟動(dòng)加速等級(jí);
所述預(yù)讀模塊還用于在各啟動(dòng)階段,分別采用相應(yīng)啟動(dòng)階段的啟動(dòng)加速等級(jí)對(duì)應(yīng)的預(yù)讀次數(shù)和/或單次預(yù)讀文件數(shù)量,按次打開(kāi)目標(biāo)軟件的啟動(dòng)文件并預(yù)讀數(shù)據(jù)到內(nèi)存中。
19.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括:
啟動(dòng)行為參數(shù)統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)目標(biāo)軟件的啟動(dòng)行為參數(shù);所述啟動(dòng)行為參數(shù)包括:原始啟動(dòng)時(shí)長(zhǎng)、啟動(dòng)文件數(shù)量、啟動(dòng)文件大小、啟動(dòng)階段劃分以及啟動(dòng)時(shí)文件讀操作行為屬性中的至少一種;
記錄模塊,用于根據(jù)統(tǒng)計(jì)的啟動(dòng)行為參數(shù)生成相應(yīng)的啟動(dòng)加速等級(jí)記錄到配置文件中;
所述配置信息獲取模塊還用于從配置文件中讀取配置信息。
20.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括:
上報(bào)模塊,用于在獲取到啟動(dòng)所述目標(biāo)軟件結(jié)束的通知后,上報(bào)啟動(dòng)加速結(jié)果到服務(wù)器;所述啟動(dòng)加速結(jié)果包括:?jiǎn)?dòng)加速是否成功,是否預(yù)讀了目標(biāo)軟件的全部啟動(dòng)文件和預(yù)讀的啟動(dòng)文件數(shù)量中的至少一種。