新四季網

程序啟動方法、裝置和設備與流程

2023-08-07 12:17:21 2


本發明涉及計算機技術領域,特別涉及一種程序啟動方法、裝置和設備。

背景技術:
隨著計算機技術和Windows技術的發展,為了加快計算機上常用的程序的啟動或運行速度,可以在計算機在作業系統啟動後將常用的程序在啟動時所需要的數據預先加載到內存中。當在計算機運行過程中啟動程序時,可以直接根據內存中已加載的數據啟動,而無需從磁碟加載該部分數據,從而減少了系統的磁碟I/O(Input/Output,輸入輸出),加快了系統的運行速度。在實現本發明的過程中,發明人發現現有技術至少存在以下問題:在作業系統運行過程中,啟動的程序可能多種多樣,每啟動一個程序,均需將該程序對應的數據加載至內存。而當預先加載的數據佔用內存空間太大時,為了保證程序的正常運行,需要將已加載的程序置換出去或銷毀掉,以加載待運行程序的數據,則在啟動上述被置換或者被銷毀的數據對應的程序時,就需要重新從磁碟中重新讀取數據,無法實現加快系統運行速度的目的,影響了系統的操作性能。

技術實現要素:
為了解決現有技術的問題,本發明實施例提供了一種程序啟動方法、裝置和設備。所述技術方案如下:第一方面,提供了一種程序啟動方法,所述方法包括:根據預取資料庫中每個程序的歷史啟動信息,確定至少一個目標程序,所述歷史啟動信息至少包括程序的啟動時間點;在作業系統自啟動項的啟動過程中,將所述至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據;當檢測到第一目標程序的啟動事件時,將所述第一目標程序對應的預取數據解鎖,所述第一目標程序為任一目標程序;從所述內存中加載所述第一目標程序對應的預取數據;運行所述第一目標程序的代碼,以啟動所述第一目標程序。第二方面,提供了一種程序啟動裝置,所述裝置包括:目標程序確定模塊,用於根據預取資料庫中每個程序的歷史啟動信息,確定至少一個目標程序,所述歷史啟動信息至少包括程序的啟動時間點;加載鎖定模塊,用於在作業系統自啟動項的啟動過程中,將所述至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據;解鎖模塊,用於當檢測到第一目標程序的啟動事件時,將所述第一目標程序對應的預取數據解鎖,所述第一目標程序為任一目標程序;數據加載模塊,用於從所述內存中加載所述第一目標程序對應的預取數據;代碼運行模塊,用於運行所述第一目標程序的代碼,以啟動所述第一目標程序。第三方面,提供了一種終端設備,包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲於存儲器中,且經配置以由一個或者一個以上處理器執行所述一個或者一個以上程序包含用於進行以下操作的指令:根據預取資料庫中每個程序的歷史啟動信息,確定至少一個目標程序,所述歷史啟動信息至少包括程序的啟動時間點;在作業系統自啟動項的啟動過程中,將所述至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據;當檢測到第一目標程序的啟動事件時,將所述第一目標程序對應的預取數據解鎖,所述第一目標程序為任一目標程序;從所述內存中加載所述第一目標程序對應的預取數據;運行所述第一目標程序的代碼,以啟動所述第一目標程序。本發明實施例提供的技術方案帶來的有益效果是:本發明提供的方法、裝置和設備,通過根據歷史啟動信息確定需要進行數據預取的目標程序,在啟動過程中,優先將目標程序的預取數據加載入內存,使得在目標程序啟動時,直接從內存中訪問到預取數據,避免了大量的磁碟I/O,節省了該目標程序的啟動時間,加快了該目標程序的啟動速度,且通過鎖定加載的數據,保證了預取的數據不會在作業系統的運行過程中被置換或者被銷毀。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例提供的一種程序啟動方法的流程圖;圖2是本發明實施例提供的一種程序啟動方法的流程圖;圖3是本發明實施例提供的一種程序啟動裝置結構示意圖;圖4是本發明實施例涉及的終端設備結構示意圖。具體實施方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。圖1是本發明實施例提供的一種程序啟動方法的流程圖。該發明實施例的執行主體為終端設備,參見圖1,所述方法包括:101:根據預取資料庫中作業系統已安裝的每個程序的歷史啟動信息,確定至少一個目標程序,該歷史啟動信息至少包括程序的啟動時間點;其中,本發明實施例應用於終端設備作業系統的啟動過程中,該每個程序是指該作業系統中已安裝的程序,該程序可以為應用程式,還可以是作業系統使用過程中需要啟動的後臺程序或進程等,本發明實施例對此不做限定。程序的啟動時間點是指以終端設備開機時間為零點時間的相對時間點,如當終端設備開機後的25s時,應用程式A啟動,則該應用程式A的啟動時間點為25s。需要說明的是,該預設資料庫中所包含的歷史啟動信息可以包括終端設備多次運行過程中所啟動程序的啟動時間點,在終端設備運行過程中,程序每啟動一次,終端設備均將該程序的啟動時間點保存於預取資料庫中。具體地,根據作業系統已安裝的每個程序的歷史啟動信息,確定需要在作業系統啟動過程中預取數據的至少一個目標程序。由於預設資料庫中包括了程序的啟動時間點,也即是可以通過啟動時間點獲知程序的啟動次數,將啟動次數大於預設閾值的程序確定為目標程序,或按照啟動次數從大到小,將預設數目個程序確定為目標程序,上述僅以啟動次數為確定目標程序的標準,而事實上,根據預設資料庫中所記錄的歷史啟動信息,還可以獲知程序的啟動頻率、真實啟動時間等,結合啟動時間點、啟動頻率以及真實啟動時間也可以確定目標程序,在本發明實施例對此不做限定。該步驟101可以在作業系統的啟動過程中執行,來確定本次需要預取數據的至少一個目標程序,也可以在作業系統關機時執行,來確定下一次啟動作業系統時需要預取數據的至少一個目標程序,本發明實施例對此不做限定。102:在該作業系統自啟動項啟動過程中,將該至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據;本領域的技術人員可以獲知,在啟動該作業系統後,執行該作業系統啟動所需的基本程序和進程,在執行完這些基本程序後,進入作業系統自啟動項的啟動過程。本發明實施例中的加載過程是在基本程序執行完成後,作業系統的自啟動項的啟動過程中執行。其中,目標程序對應的預取數據是指在該目標程序啟動時運行該目標程序所需要的磁碟I/O(Input/Output,輸入輸出)數據。在程序的啟動過程時,需要進行大量的磁碟I/O,磁碟I/O時磁頭的讀取位置不連續,就會造成磁頭在磁碟上的跳躍,大大減慢了每一次加載的速度,從而使得應用程式的啟動速度慢。因此,在該目標程序啟動之前將磁碟I/O數據加載到該內存中,可以在運行目標程序代碼時,能夠在內存中訪問到該磁碟I/O數據,節省了該目標程序的啟動時間,加快了該目標程序的啟動速度。進一步地,將預取數據加載入該內存後,鎖定加載的數據可以保證預取的數據不會被置換或者被銷毀。103:當檢測到第一目標程序的啟動事件時,將該第一目標程序對應的預取數據解鎖,該第一目標程序為任一目標程序;104:從該內存中加載該第一目標程序對應的預取數據;105:運行該第一目標程序的代碼,以啟動該第一目標程序。在步驟103-105中,當檢測到該第一目標程序的啟動事件時,將該第一目標程序對應的預取數據解鎖,並運行該第一目標程序的代碼,在運行代碼的過程中,從該內存中分別加載每一條代碼所需的數據,用於啟動該第一目標程序。當運行的代碼對應的預取數據已經加載入該內存中,可以直接從該內存中加載該代碼對應的預取數據,而不需要進行磁碟I/O,因此節省了該第一目標程序的啟動時間,加快了該第一目標程序的啟動速度。本發明實施例提供的方法,通過根據程序的歷史啟動信息確定需要進行數據預取的目標程序,在啟動過程中,優先將目標程序的預取數據加載入內存,使得在目標程序啟動時,可以直接從內存中訪問到預取數據,避免了大量的磁碟I/O,節省了該目標程序的啟動時間,加快了該目標程序的啟動速度,且通過鎖定加載的數據,保證了預取的數據不會在作業系統的運行過程中被置換或者被銷毀。可選地,根據預取資料庫中的該系統已安裝的每個程序的歷史啟動信息,確定至少一個目標程序,包括:按照第一預設時長內該每個程序的啟動次數從大到小的順序,從該每個程序中獲取預設數目的目標程序;或,根據該每個程序的啟動次數,將啟動次數大於預設閾值的程序確定為該至少一個目標程序。可選地,該歷史啟動信息還包括程序的啟動時間點,相應地,在該作業系統自啟動項啟動過程中,將該至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據之前,該方法還包括:根據每個目標程序的啟動時間點,獲取每個目標程序的啟動時間點平均值;根據每個目標程序的啟動時間點平均值和預設預取耗時,確定每個目標程序的預取時間點;相應地,在該作業系統自啟動項啟動過程中,將該至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據,包括:在該作業系統自啟動項啟動過程中,按照每個目標程序的預取時間點,分別將每個目標程序對應的預取數據加載入該內存,並鎖定加載的數據。可選地,該方法還包括:收集該作業系統啟動第二預設時長內該作業系統已安裝的每個程序的啟動信息,將收集到的啟動信息保存至該預設資料庫。可選地,在該作業系統自啟動項啟動過程中,將該至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據之後,該方法還包括:當在將第二目標程序對應的預取數據鎖定結束後的超時閾值內未檢測到該第二目標程序的啟動事件時,將所述內存中加載的所述第二目標程序的預取數據解鎖,所述第二目標程序為所述第一目標程序之外的任一目標程序。可選地,每個目標程序的超時閾值根據每個目標程序的最早啟動時間點、最晚啟動時間點和預設最大超時閾值確定,超時閾值=min(預設最大超時閾值,最晚啟動時間點-最早啟動時間點)。上述所有可選技術方案,可以採用任意結合形成本發明的可選實施例,在此不再一一贅述。以及根據每個程序的啟動時間點確定的每個程序的啟動次數、啟動時間點平均值等參數。圖2是本發明實施例提供的一種程序啟動方法的流程圖。該發明實施例的執行主體為終端設備,參見圖2,所述方法包括:201:終端設備根據預取資料庫中作業系統已安裝的每個程序的歷史啟動信息,確定至少一個目標程序,該歷史啟動信息至少包括程序的啟動時間點;優選地,該步驟201包括:終端設備從預取資料庫中每個程序的歷史啟動信息中獲取第一預設時長內的歷史啟動信息,根據該第一預設時長內的歷史啟動信息,確定至少一個目標程序。其中,歷史啟動信息還包括程序的真實啟動時間,真實啟動時間是指程序啟動時間點的真實時間,如,當終端設備在2013年3月3日12:00分啟動應用程式A,則該應用程式A的真實啟動時間為2013年3月3日12:00。因此,通過真實啟動時間可以獲知程序在某個時間段內的啟動次數,如該預設時間段為30天,則獲取預設資料庫中在本次作業系統啟動以前的30天內每個程序的啟動次數,根據每個程序的啟動次數確定該至少一個目標程序。該第一預設時長可以由技術人員在開發時設置,還可以由用戶在使用過程中設置。本發明實施例對該第一預設時長的具體值不做限定。可選地,根據該第一預設時長內的歷史啟動信息,確定至少一個目標程序包括:按照第一預設時長內該每個程序的啟動次數從大到小的順序,從該每個程序中獲取預設數目的目標程序。如,在本次作業系統啟動以前的30天內,應用程式A、B、C和D的歷史啟動信息如下表1所示。表1程序名稱啟動次數真實啟動時間A5TA1…TA5B19TB1…TB19C10TC1…TC10D22TD1…TD22通過上表1,可以看出在30天內,啟動次數的排序如下:D>B>C>A,而預設數目為2,則將程序D和B確定為目標程序。或,可選地,根據該第一預設時長內的歷史啟動信息,確定至少一個目標程序包括:根據第一預設時長內該每個程序的啟動次數,將啟動次數大於預設閾值的程序確定為該至少一個目標程序。仍以上表1中的數據、預設閾值為6次為例進行說明,則根據該確定方法,程序B、C和D的啟動次數均超過6次,則將程序B、C和D確定為目標程序。其中,上述預設數目和預設閾值均可以由技術人員預先設定,還可以由用戶在使用過程中進行調整,本發明實施例對此不做限定。202:根據每個目標程序的歷史啟動信息中的啟動時間點,獲取每個目標程序的啟動時間點平均值;根據在該第一預設時長內每個目標程序的啟動時間點,獲取啟動時間點平均值,還可以根據在比該第一預設時長更小的時長內的每個目標程序的啟動時間點,獲取啟動時間點平均值。如該第一預設時長為30天,即在步驟201中根據30天內的啟動次數,確定了該至少一個目標程序,而該啟動時間點平均值可以根據30天內每個目標程序的啟動時間點確定,還可以根據10天內每個目標程序的啟動時間點確定。本發明實施例對此不做限定。203:根據每個目標程序的啟動時間點平均值和預設預取耗時,確定每個目標程序的預取時間點;在該作業系統自啟動項啟動過程中,需要預取該至少一個目標程序對應的預取數據,而為了保證數據的預取在目標程序的啟動之前進行,需要確定該至少一個目標程序的預取時間點。其中,該目標程序的預取時間點是指以終端設備開機時間為零點時間,開始獲取該目標程序對應的預取數據的時刻。對於任一目標程序,當該目標程序的預取時間點早於啟動時間點太長時間時,會造成該內存的存儲資源的浪費,而當該目標程序的預取時間點晚於啟動時間點時,會導致啟動該目標程序的速度較慢,無法達到預取數據以加快啟動速度的目的。因此,需要根據該預取資料庫中的歷史啟動信息對該目標程序的啟動時間點進行推測,並根據推測的啟動時間點確定該目標程序的預取時間點,使得該預取時間點到該啟動時間點的時間間隔最小,即保證在啟動該目標程序之前完成預取數據的過程,又可以保證不會造成該內存的存儲資源的過多浪費,將預取數據過程對該作業系統的影響降至最低。可選地,該步驟203包括:將每個目標程序的啟動時間點平均值和預設預取耗時之差確定為每個目標程序的預取時間點。其中,該預設預取耗時是指將該目標程序對應的預取數據從硬碟中加載入該內存中所消耗的時間預估值,可以由技術人員在開發時根據該預取數據的大小和數據讀取速度進行預先估計,本發明實施例對此不做限定。具體地,根據該預取資料庫中的歷史啟動信息,將每個目標程序的啟動時間點的平均值確定為每個目標程序的推測啟動時間點,將該推測啟動時間點與該預設預取耗時之差確定為每個目標程序的預取時間點,使得在預取時間點開始獲取每個目標程序對應的預取數據,經過該預設預取耗時的時間間隔後獲取預取數據的過程完成,此時到達該推測啟動時間點,保證了該預取時間點到該啟動時間點的時間間隔最小,將預取數據過程對該作業系統的影響降至最低。可選地,在本發明實施例的另一實現方式中,該步驟203包括:將每個目標程序的啟動時間點平均值和預設預取耗時之差確定為每個目標程序的預取時間點,並根據每個目標程序的啟動次數,調整每個目標程序的預取時間點。對於在該第一預設時長內啟動次數較小的目標程序,啟動的可能性很小。若僅根據該目標程序的啟動時間點平均值和預設預取耗時確定該目標程序的預取時間點,該預取時間點相較於其他目標程序可能會很小,即該目標程序預取數據的時刻早於其他目標程序,而由於該目標程序的啟動可能性很小,當該目標程序未啟動時,會造成該內存的存儲資源的浪費。因此,可以結合該目標程序的在近期的第一預設時長內的啟動次數,調整該目標程序的預取時間點。本發明實施例對具體的調整算法不做限定,只需保證將預取數據過程對該作業系統的影響降至最低即可。204:在該作業系統自啟動項啟動過程中,按照每個目標程序的預取時間點,分別將每個目標程序對應的預取數據加載入該內存,並鎖定加載的數據,執行步驟205或步驟208;在確定了每個目標程序的預取時間點之後,按照每個目標程序的預取時間點,分別將每個目標程序對應的預取數據加載入該內存,在加載後鎖定加載的數據,保證預取數據不會被置換或被銷毀。205:當檢測到第一目標程序的啟動事件時,將該第一目標程序對應的預取數據解鎖,該第一目標程序為任一目標程序;206:從該內存中加載該第一目標程序對應的預取數據;207:運行該第一目標程序的代碼,以啟動該第一目標程序,結束。本發明實施例以該第一目標程序為例進行說明。當檢測到該第一目標程序的啟動事件時,將該第一目標程序對應的預取數據解鎖,並根據該內存中的該第一目標程序對應的預取數據,運行該第一目標程序的代碼,以啟動該第一目標程序。208:當在將該第一目標程序對應的預取數據鎖定結束後的超時閾值內未檢測到該第一目標程序的啟動事件時,將該內存中加載的該第一目標程序的預取數據解鎖。在將該第一目標程序對應的預取數據鎖定結束後,開始計時,當計時時間到達超時閾值,且在該計時時間內未檢測到該第一目標程序的啟動事件時,認為該第一目標程序超時未啟動,因此,為了避免長時間佔用內存的存儲資源,將該第一目標程序對應的預取數據解鎖。可選地,該第一目標程序的超時閾值根據該第一目標程序的最早啟動時間點、最晚啟動時間點和預設最大超時閾值確定,超時閾值=min(預設最大超時閾值,最晚啟動時間點-最早啟動時間點);其中,該預設最大超時閾值可以由技術人員在開發時設置,本發明實施例對此不做限定。具體地,當該最晚啟動時間點與該最早啟動時間點的差值大於等於該預設最大超時閾值時,將該最大超時閾值確定為該超時閾值,當該最晚啟動時間點與該最早啟動時間點的差值小於該預設最大超時閾值時,將該最晚啟動時間點與該最早啟動時間點的差值確定為該超時閾值。例如,表2是本發明實施例提供的一種歷史啟動信息表,表明在最近30天內程序A、B、C、D的歷史啟動信息。表2程序名稱啟動次數啟動時間點平均值最早啟動時間點最晚啟動時間點A555.2s30s88sB1944.8s42s55sC1058.3s48s63sD2259.7s52s90s根據30天內每個程序的啟動次數,確定該至少一個目標程序為程序B和程序D。以程序D為例,啟動時間點平均值為59.7s,假設程序D的預設預取耗時為10s,則程序D的預取時間點為49.7s,即在該作業系統啟動49.7s後,開始將程序D對應的預取數據加載入該內存中。程序D的最早啟動時間點為52s,最晚啟動時間點為90s,則該最晚啟動時間點與該最早啟動時間點的差值為38s,假設該預設最大超時閾值為60s,則該最晚啟動時間點與該最早啟動時間點的差值小於該預設最大超時閾值,將該最晚啟動時間點與該最早啟動時間點的差值確定為該超時閾值,即確定該超時閾值為38s。程序D的啟動時間點平均值為59.7s,假設在60s時鎖定加載的數據過程結束,則若計時時間到達38s即當前的時間到達98s時還未檢測到程序D的啟動事件,則認為程序D的超時未啟動,將程序D鎖定的數據解鎖。在上述步驟201-208之後,該方法還包括:收集該作業系統啟動第二預設時長內該作業系統已安裝的每個程序的啟動信息,將收集到的啟動信息保存至該預設資料庫。收集該作業系統啟動第二預設時長內該作業系統已安裝的每個程序的啟動信息,將該啟動信息保存至該預設資料庫中相應的歷史啟動信息中,便於在下次作業系統啟動時根據更新後的歷史啟動信息再次執行上述步驟201-208,實現程序的啟動加速。相應地,在收集到每個程序的啟動信息,並更新了歷史啟動信息之後,由於每個程序的最早啟動時間點和最晚啟動時間點可能會發生變化,因此根據更新後的歷史啟動信息重新確定每個程序的超時閾值,即隨著收集每個程序的啟動信息,可以動態地改變每個程序的超時閾值。該啟動信息的收集過程可以在該作業系統啟動後經過該第二預設時長後進行,也可以在檢測到關機指令時,在關機程序之前進行。該重新確定每個程序的超時閾值的過程可以在該收集過程之後進行。本發明實施例對此均不做限定。本發明實施例提供的方法,通過根據程序的歷史啟動信息確定需要進行數據預取的目標程序以及每個目標程序的預取時間點,在啟動過程中,按照每個目標程序的預取時間點,分別將目標程序的預取數據加載入內存,使得在目標程序啟動時,可以直接從內存中訪問到預取數據,避免了大量的磁碟I/O,節省了該目標程序的啟動時間,加快了該目標程序的啟動速度,且通過鎖定加載的數據,保證了預取的數據不會在作業系統的運行過程中被置換或者被銷毀。同時保證了每個目標程序的預取時間點到啟動時間點的時間間隔最小,使得預取數據過程對該作業系統的影響達到最小。圖3是本發明實施例提供的一種程序啟動裝置結構示意圖。該發明實施例的執行主體為終端設備,參見圖3,所述裝置包括:目標程序確定模塊31、加載鎖定模塊32、解鎖模塊33、數據加載模塊34、代碼運行模塊35,其中,目標程序確定模塊31用於根據預取資料庫中每個程序的歷史啟動信息,確定至少一個目標程序,所述歷史啟動信息至少包括程序的啟動時間點;加載鎖定模塊32與目標程序確定模塊31連接,加載鎖定模塊32用於在作業系統自啟動項的啟動過程中,將所述至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據;解鎖模塊33與加載鎖定模塊32連接,解鎖模塊33用於當檢測到第一目標程序的啟動事件時,將所述第一目標程序對應的預取數據解鎖,所述第一目標程序為任一目標程序;數據加載模塊34與解鎖模塊33連接,數據加載模塊34用於從所述內存中加載所述第一目標程序對應的預取數據;代碼運行模塊35與數據加載模塊34連接,代碼運行模塊35用於運行所述第一目標程序的代碼,以啟動所述第一目標程序。可選地,所述目標程序確定模塊31包括:排序確定單元,用於按照第一預設時長內所述每個程序的啟動次數從大到小的順序,從所述每個程序中獲取預設數目的目標程序;或,閾值確定單元,用於根據所述每個程序的啟動次數,將啟動次數大於預設閾值的程序確定為所述至少一個目標程序。可選地,所述歷史啟動信息還包括程序的啟動時間點,相應地,所述裝置還包括:平均值獲取模塊,用於根據每個目標程序的啟動時間點,獲取每個目標程序的啟動時間點平均值;時間點確定模塊,用於根據每個目標程序的啟動時間點平均值和預設預取耗時,確定每個目標程序的預取時間點;相應地,所述加載鎖定模塊32用於在所述作業系統自啟動項啟動過程中,按照每個目標程序的預取時間點,分別將每個目標程序對應的預取數據加載入所述內存,並鎖定加載的數據。可選地,所述裝置還包括:信息收集模塊,用於收集所述作業系統啟動第二預設時長內所述作業系統已安裝的每個程序的啟動信息,將收集到的啟動信息保存至所述預設資料庫。可選地,所述裝置還包括:啟動超時模塊,用於當在將第二目標程序對應的預取數據鎖定結束後的超時閾值內未檢測到所述第二目標程序的啟動事件時,將所述內存中加載的所述第二目標程序的預取數據解鎖,所述第二目標程序為所述第一目標程序之外的任一目標程序。可選地,每個目標程序的超時閾值根據每個目標程序的最早啟動時間點、最晚啟動時間點和預設最大超時閾值確定,超時閾值=min(預設最大超時閾值,最晚啟動時間點-最早啟動時間點)。本發明實施例提供的裝置,通過根據程序的歷史啟動信息確定需要進行數據預取的目標程序以及每個目標程序的預取時間點,在啟動過程中,按照每個目標程序的預取時間點,分別將目標程序的預取數據加載入內存,使得在目標程序啟動時,可以直接從內存中訪問到預取數據,避免了大量的磁碟I/O,節省了該目標程序的啟動時間,加快了該目標程序的啟動速度,且通過鎖定加載的數據,保證了預取的數據不會在作業系統的運行過程中被置換或者被銷毀。同時保證了每個目標程序的預取時間點到啟動時間點的時間間隔最小,使得預取數據過程對該作業系統的影響達到最小。需要說明的是:上述實施例提供的程序啟動的裝置在程序啟動時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將終端設備的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的程序啟動的裝置與程序啟動的方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。由於本發明的實施例通常結合一定的計算環境、計算機系統或者說硬體來實現。故圖4及相應的描述旨在提供對可以實現本發明的實施例中的合適的計算環境進行簡單和概括的描述。儘管圖4中利用在伺服器或者個人計算機系統上執行的計算環境作為一般性環境來描述本發明,但是本領域的技術人員應該意識到,本發明也可以結合其它類型的計算機系統和程序模塊來實現。一般而言,程序模塊包括執行特定任務或實現特定的抽象數據類型的例程、程序、組件、數據結構和其他類型的結構。而且,本領域的技術人員將了解,本發明可以用諸如包括手持式設備、多處理器系統、基於微處理器的或者可編程消費電子產品、小型計算機、大型計算機等計算機系統配置來實施。並且,本發明也可以在分布式計算環境中來實施,其可以用通過網絡連接的遠程處理設備來執行任務,在分布式計算環境中,程序模塊可以位於本地和遠程存儲設備兩者中的任意位置。圖4是本發明實施例涉及的終端設備結構示意圖。所述計算機400為常規的臺式計算機或者膝上型筆記本,所述計算機400包括中央處理單元(CPU)401、包括隨機存取存儲器(RAM)402和只讀存儲器(ROM)403的系統存儲器404,以及連接系統存儲器404和中央處理單元401的系統總線405。所述計算機400還包括幫助計算機內的各個器件之間傳輸信息的基本輸入/輸出系統(I/O系統)406,和用於存儲作業系統、應用程式和其他程序模塊的大容量存儲設備407。所述基本輸入/輸出系統406包括有用於顯示信息的顯示器408和用於用戶輸入信息的諸如滑鼠、鍵盤之類的輸入設備409。其中所述顯示器408和輸入設備409都通過連接到系統總線405的輸入輸出控制器410連接到中央處理單元401。所述基本輸入/輸出系統406還可以包括輸入輸出控制器410以用於接收和處理來自鍵盤、滑鼠、或電子觸控筆等多個其他設備的輸入。類似地,輸入輸出控制器410還提供輸出到顯示屏、印表機或其他類型的輸出設備。所述大容量存儲設備407通過連接到系統總線405的大容量存儲控制器(未示出)連接到中央處理單元401。所述大容量存儲設備407及其相關聯的計算機可讀介質為計算機400提供非易失性存儲。也就是說,所述大容量存儲設備407可以包括諸如硬碟或者CD-ROM驅動器之類的計算機可讀介質(未示出)。不失一般性,所述計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括以用於存儲諸如計算機可讀指令、數據結構、程序模塊或其他數據等信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括RAM、ROM、EPROM、EEPROM、快閃記憶體或其他固態存儲其技術,CD-ROM、DVD或其他光學存儲、磁帶盒、磁帶、磁碟存儲或其他磁性存儲設備。當然,本領域技術人員可知所述計算機存儲介質不局限於上述幾種。根據本發明的各種實施例,所述計算機400還可以通過諸如網際網路等網絡連接到網絡上的遠程計算機運行。也即計算機400可以通過連接在所述系統總線405上的網絡接口單元411連接到網絡412,或者說,也可以使用網絡接口單元111來連接到其他類型的網絡或遠程計算機系統(未示出)。終端設備還包括一個或者一個以上的程序,其中一個或者一個以上程序存儲於存儲器404中,且經配置以由一個或者一個以上中央處理單元401執行所述一個或者一個以上程序包含用於進行以下操作的指令:根據預取資料庫中每個程序的歷史啟動信息,確定至少一個目標程序,所述歷史啟動信息至少包括程序的啟動時間點;在作業系統自啟動項的啟動過程中,將所述至少一個目標程序對應的預取數據加載入內存,並鎖定加載的數據;當檢測到第一目標程序的啟動事件時,將所述第一目標程序對應的預取數據解鎖,所述第一目標程序為任一目標程序;從所述內存中加載所述第一目標程序對應的預取數據;運行所述第一目標程序的代碼,以啟動所述第一目標程序。可選地,還包含用於進行以下操作的指令:按照第一預設時長內所述每個程序的啟動次數從大到小的順序,從所述每個程序中獲取預設數目的目標程序;或,根據所述每個程序的啟動次數,將啟動次數大於預設閾值的程序確定為所述至少一個目標程序。可選地,還包含用於進行以下操作的指令:根據每個目標程序的啟動時間點,獲取每個目標程序的啟動時間點平均值;根據每個目標程序的啟動時間點平均值和預設預取耗時,確定每個目標程序的預取時間點;相應地,還包含用於進行以下操作的指令:在所述作業系統自啟動項啟動過程中,按照每個目標程序的預取時間點,分別將每個目標程序對應的預取數據加載入所述內存,並鎖定加載的數據。可選地,還包含用於進行以下操作的指令:收集所述作業系統啟動第二預設時長內所述作業系統已安裝的每個程序的啟動信息,將收集到的啟動信息保存至所述預設資料庫。可選地,還包含用於進行以下操作的指令:當在將第二目標程序對應的預取數據鎖定結束後的超時閾值內未檢測到所述第二目標程序的啟動事件時,將所述內存中加載的所述第二目標程序的預取數據解鎖,所述第二目標程序為所述第一目標程序之外的任一目標程序。可選地,每個目標程序的超時閾值根據每個目標程序的最早啟動時間點、最晚啟動時間點和預設最大超時閾值確定,超時閾值=min(預設最大超時閾值,最晚啟動時間點-最早啟動時間點)。本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬體來完成,也可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀