本發(fā)明涉及一種計算機技術(shù)領(lǐng)域,特別是涉及一種安裝程序的安裝時間確定方法及裝置。
背景技術(shù):
隨著計算機技術(shù)的快速發(fā)展,越來越多的用戶使用計算機安裝應(yīng)用程序來實現(xiàn)各種各樣的應(yīng)用功能。其中,所有的安裝程序都需要在計算機底層中進行系統(tǒng)安裝,在安裝程序過程中,需要執(zhí)行一定的安裝時間。
目前,現(xiàn)有的計算機在進行安裝時,不同的安裝環(huán)境會影響程序安裝的時間,例如,在exe安裝程序進行安裝時,會因為計算機出現(xiàn)卡頓現(xiàn)象而造成安裝時間過長或者不確定,從而影響其他應(yīng)用程序的正常運行。為了準確掌握安裝程序的安裝時間,對安裝程序的安裝時間進行預(yù)計算已經(jīng)成為計算機技術(shù)領(lǐng)域亟待解決的問題。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種安裝程序的安裝時間確定方法及裝置,主要目的在于解決準確掌握安裝程序的安裝時間的問題。
依據(jù)本發(fā)明一個方面,提供了一種安裝程序的安裝時間確定方法,包括:
獲取待安裝程序的軟件安裝環(huán)境配置信息及安裝部分的各個軟件程序,所述各個軟件程序是按照時間的先后順序進行排列的、不同功能的程序;
按照多線程方式將所述各個軟件程序以子線程形式進行拆分,所述子線程形式表示為一個子線程中可以執(zhí)行一個軟件程序;
分別計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間;
根據(jù)所述軟件安裝環(huán)境配置信息配置預(yù)設(shè)參照時間的第一權(quán)重值,以及按照各個軟件程序在待安裝程序中所占的重要性比重配置所述安裝時間的第二權(quán)重值;
根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間確定所述待安裝程序的安裝時間。
依據(jù)本發(fā)明一個方面,提供了一種安裝程序的安裝時間確定裝置,包括:
獲取單元,用于獲取待安裝程序的軟件安裝環(huán)境配置信息及安裝部分的各個軟件程序,所述各個軟件程序是按照時間的先后順序進行排列的、不同功能的程序;
拆分單元,用于按照多線程方式將所述各個軟件程序以子線程形式進行拆分,所述子線程形式表示為一個子線程中可以執(zhí)行一個軟件程序;
計算單元,用于分別計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間;
配置單元,用于根據(jù)所述軟件安裝環(huán)境配置信息配置預(yù)設(shè)參照時間的第一權(quán)重值,以及按照各個軟件程序在待安裝程序中所占的重要性比重配置所述安裝時間的第二權(quán)重值;
確定單元,用于根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間確定所述待安裝程序的安裝時間。
本發(fā)明提供了一種安裝程序的安裝時間確定方法及裝置,與現(xiàn)有無法準確掌握安裝程序的安裝時間相比,本發(fā)明實施例通過將安裝部分的各個軟件程序拆分為多個子線程,計算子線程中程序執(zhí)行的安裝時間,再為軟件安裝環(huán)境配置信息配置參照時間的第一權(quán)重值,以及為安裝時間配置第二權(quán)重值,通過第一權(quán)重值、預(yù)設(shè)參照時間、第二權(quán)重值、安裝時間確認出待安裝程序的安裝時間,以便根據(jù)預(yù)計算的安裝程序的安裝時間來考慮其他程序的執(zhí)行情況,減少安裝過程中因安裝時間不確定而導(dǎo)致的延誤其他程序正常運行的情況,從而提高應(yīng)用程序的安裝效率。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發(fā)明實施例提供的一種安裝程序的安裝時間確定方法流程圖;
圖2示出了本發(fā)明實施例提供的另一種安裝程序的安裝時間確定方法流程圖;
圖3示出了本發(fā)明實施例提供的一種安裝程序的安裝時間確定裝置的結(jié)構(gòu)示意圖;
圖4示出了本發(fā)明實施例提供的另一種安裝程序的安裝時間確定裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
本發(fā)明實施例提供了一種安裝程序的安裝時間確定方法,如圖1所示,所述方法包括:
101、獲取待安裝程序的軟件安裝環(huán)境配置信息及安裝部分的各個軟件程序。
其中,所述各個軟件程序是按照時間的先后順序進行排列的、不同功能的程序,所述待安裝程序可以為應(yīng)用于個人計算機pc端的.exe類型的應(yīng)用程序,所述軟件安裝環(huán)境配置信息包括網(wǎng)絡(luò)情況及系統(tǒng)情況,網(wǎng)絡(luò)情況可以為當(dāng)前網(wǎng)絡(luò)是否出現(xiàn)卡頓等,系統(tǒng)情況可以為當(dāng)前pc端的系統(tǒng)是安裝.exe程序的快慢情況,所述安裝部分的各個軟件程序可以為不同程序的模塊,這些程序模塊是按照時間順序進程執(zhí)行的。
102、按照多線程方式將所述各個軟件程序以子線程形式進行拆分。
其中,所述子線程形式表示為一個子線程中可以執(zhí)行一個軟件程序,拆分后的子線程中就可以以一個子程序執(zhí)行一個軟件程序。
103、分別計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間。
其中,所述各個子線程中的軟件程序的執(zhí)行是模擬運行的,運行過程僅僅是為了計算軟件程序安裝的時間,而不將軟件程序真正的安裝在當(dāng)前的pc端中。
需要說明的是,模擬執(zhí)行各個子線程中的軟件程序可以是以子線程并行進行,也可以以子線程串行進行,因為當(dāng)前執(zhí)行的軟件程序僅僅是為了模擬出每個軟件模塊安裝的時間。
104、根據(jù)所述軟件安裝環(huán)境配置信息配置預(yù)設(shè)參照時間的第一權(quán)重值,以及按照各個軟件程序在待安裝程序中所占的重要性比重配置所述安裝時間的第二權(quán)重值。
其中,所述預(yù)設(shè)參照時間為根據(jù)軟件安裝環(huán)境配置信息進行設(shè)置的參照時間,具體設(shè)置的規(guī)則由用戶根據(jù)網(wǎng)絡(luò)卡頓的時間及系統(tǒng)安裝程序的時間進行設(shè)置,本發(fā)明實施例不做具體限定,所述第一權(quán)重值用于體現(xiàn)由于軟件安裝環(huán)境配置信息決定安裝時間占所有程序安裝時間的比重,所述第二權(quán)重值是取決于的重要性比重可以根據(jù)不同的安裝程序模塊的長度、大小、在整個程序中的功能而決定,本發(fā)明實施例不做具體限定。
105、根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間確定所述待安裝程序的安裝時間。
其中,所述確定安裝時間就為將第一權(quán)重值與預(yù)設(shè)參照時間相乘的值與第二權(quán)重值與安裝時間相乘的值相加,得到值可以為安裝時間的一個時間范圍,所述的安裝時間是由多個子線程執(zhí)行模擬安裝后得到的,所以安裝時間是多個時間的,而第二權(quán)重值即與安裝時間對應(yīng)的一個向量,包括了多個權(quán)重值。
需要說明的是,根據(jù)第一權(quán)重值與第二權(quán)重值計算得到的安裝時間即可以通過數(shù)學(xué)方法計算得到。
本發(fā)明實施例提供了一種安裝程序的安裝時間確定方法,與現(xiàn)有無法準確掌握安裝程序的安裝時間相比,本發(fā)明實施例通過將安裝部分的各個軟件程序拆分為多個子線程,計算子線程中程序執(zhí)行的安裝時間,再為軟件安裝環(huán)境配置信息配置參照時間的第一權(quán)重值,以及為安裝時間配置第二權(quán)重值,通過第一權(quán)重值、預(yù)設(shè)參照時間、第二權(quán)重值、安裝時間確認出待安裝程序的安裝時間,以便根據(jù)預(yù)計算的安裝程序的安裝時間來考慮其他程序的執(zhí)行情況,減少安裝過程中因安裝時間不確定而導(dǎo)致的延誤其他程序正常運行的情況,從而提高應(yīng)用程序的安裝效率。
本發(fā)明實施例提供了另一種安裝程序的安裝時間確定方法,如圖2所示,所述方法包括:
201、獲取待安裝程序的軟件安裝環(huán)境配置信息及安裝部分的各個軟件程序。
其中,所述軟件安裝環(huán)境配置信息包括網(wǎng)絡(luò)情況及系統(tǒng)情況。
本步驟與圖1所示的步驟101方法相同,在此不再贅述。
202、將所述各個軟件程序按照時間順序存入預(yù)設(shè)隊列中。
其中,所述預(yù)設(shè)隊列存入的軟件程序在執(zhí)行過程中就是按照時間順序進行的,通過將軟件程序存入隊列中,以便可以按照時間順序進行執(zhí)行軟件程序。
203、提取所述預(yù)設(shè)隊列中的各個軟件程序,并根據(jù)多線程方式將所述各個軟件程序以子線程形式按照隊列順序進行拆分。
其中,按照隊列順序拆分后的軟件程序就是以一個子線程執(zhí)行一個軟件程序,且按照隊列的順序進行。
204、根據(jù)所述網(wǎng)絡(luò)情況及所述系統(tǒng)情況,按照預(yù)設(shè)的時間間隔更新預(yù)設(shè)參照時間。
其中,所述預(yù)設(shè)參照時間用于表示程序安裝出現(xiàn)卡頓狀況的安裝時間,所述預(yù)設(shè)的時間間隔可以為用于設(shè)置的更新時間,也可以為當(dāng)前pc端網(wǎng)絡(luò)情況及系統(tǒng)情況變化的時間間隔,這個間隔是按照當(dāng)前pc端的情況進行配置的,本發(fā)明實施例不做具體限定。
205、分別計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間。
本步驟與圖1所示的步驟103方法相同,在此不再贅述。
對于本發(fā)明實施例,步驟205具體可以為:模擬執(zhí)行所述子線程中的軟件程序;若出現(xiàn)因網(wǎng)絡(luò)情況及系統(tǒng)情況導(dǎo)致的卡頓現(xiàn)象時,調(diào)整模擬執(zhí)行軟件程序模擬進度條的渲染情況;按照所述模擬進度條執(zhí)行的時間計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間。
其中,所述模擬執(zhí)行子線程中的軟件程序的目的是為了計算軟件程序的安裝時間,模擬時并不會將軟件程序真正安裝到當(dāng)前的pc端中,所述卡頓現(xiàn)象是使當(dāng)前安裝的軟件程序出現(xiàn)暫停安裝的現(xiàn)象,所述模擬進度條為模擬軟件安裝的進度條。通過模擬執(zhí)行子線程中的軟件程序計算程序安裝的模擬進度,以便準確計算模擬安裝的安裝時間。
206、根據(jù)所述軟件安裝環(huán)境配置信息配置預(yù)設(shè)參照時間的第一權(quán)重值,以及按照各個軟件程序在待安裝程序中所占的重要性比重配置所述安裝時間的第二權(quán)重值。
本步驟與圖1所示的步驟104方法相同,在此不再贅述。
207、根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間,按照點積算法計算所述待安裝程序的安裝時間。
其中,所述點積算法為第一權(quán)重值與預(yù)設(shè)參照時間的乘積加上第二權(quán)重值與安裝時間的乘積,得到最后的待安裝程序的安裝時間。
本發(fā)明實施例提供了另一種安裝程序的安裝時間確定方法,與現(xiàn)有無法準確掌握安裝程序的安裝時間相比,本發(fā)明實施例通過將安裝部分的各個軟件程序拆分為多個子線程,計算子線程中程序執(zhí)行的安裝時間,再為軟件安裝環(huán)境配置信息配置參照時間的第一權(quán)重值,以及為安裝時間配置第二權(quán)重值,通過第一權(quán)重值、預(yù)設(shè)參照時間、第二權(quán)重值、安裝時間確認出待安裝程序的安裝時間,以便根據(jù)預(yù)計算的安裝程序的安裝時間來考慮其他程序的執(zhí)行情況,減少安裝過程中因安裝時間不確定而導(dǎo)致的延誤其他程序正常運行的情況,從而提高應(yīng)用程序的安裝效率。
進一步的,作為對上述圖1所示方法的實現(xiàn),本發(fā)明實施例提供了一種安裝程序的安裝時間確定裝置,如圖3所示,該裝置包括:獲取單元31、拆分單元32、計算單元33、配置單元34、確定單元35。
獲取單元31,可以用于獲取待安裝程序的軟件安裝環(huán)境配置信息及安裝部分的各個軟件程序,所述各個軟件程序是按照時間的先后順序進行排列的、不同功能的程序;
拆分單元32,可以用于按照多線程方式將所述各個軟件程序以子線程形式進行拆分,所述子線程形式表示為一個子線程中可以執(zhí)行一個軟件程序;
計算單元33,可以用于分別計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間;
配置單元34,可以用于根據(jù)所述軟件安裝環(huán)境配置信息配置預(yù)設(shè)參照時間的第一權(quán)重值,以及按照各個軟件程序在待安裝程序中所占的重要性比重配置所述安裝時間的第二權(quán)重值;
確定單元35,用于根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間確定所述待安裝程序的安裝時間。
本發(fā)明實施例提供了一種安裝程序的安裝時間確定裝置,與現(xiàn)有無法準確掌握安裝程序的安裝時間相比,本發(fā)明實施例通過將安裝部分的各個軟件程序拆分為多個子線程,計算子線程中程序執(zhí)行的安裝時間,再為軟件安裝環(huán)境配置信息配置參照時間的第一權(quán)重值,以及為安裝時間配置第二權(quán)重值,通過第一權(quán)重值、預(yù)設(shè)參照時間、第二權(quán)重值、安裝時間確認出待安裝程序的安裝時間,以便根據(jù)預(yù)計算的安裝程序的安裝時間來考慮其他程序的執(zhí)行情況,減少安裝過程中因安裝時間不確定而導(dǎo)致的延誤其他程序正常運行的情況,從而提高應(yīng)用程序的安裝效率。
進一步的,作為對上述圖2所示方法的實現(xiàn),本發(fā)明實施例提供了另一種安裝程序的安裝時間確定裝置,如圖4所示,該裝置包括:獲取單元41、拆分單元42、計算單元43、配置單元44、確定單元45、存入單元46、更新單元47。
獲取單元41,可以用于獲取待安裝程序的軟件安裝環(huán)境配置信息及安裝部分的各個軟件程序,所述各個軟件程序是按照時間的先后順序進行排列的、不同功能的程序;
拆分單元42,可以用于按照多線程方式將所述各個軟件程序以子線程形式進行拆分,所述子線程形式表示為一個子線程中可以執(zhí)行一個軟件程序;
計算單元43,可以用于分別計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間;
配置單元44,可以用于根據(jù)所述軟件安裝環(huán)境配置信息配置預(yù)設(shè)參照時間的第一權(quán)重值,以及按照各個軟件程序在待安裝程序中所占的重要性比重配置所述安裝時間的第二權(quán)重值;
確定單元45,可以用于根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間確定所述待安裝程序的安裝時間。
進一步地,所述裝置還包括:存入單元46,
所述存入單元46,可以用于將所述各個軟件程序按照時間順序存入預(yù)設(shè)隊列中;
所述拆分單元42,具體可以用于提取所述預(yù)設(shè)隊列中的各個軟件程序,并根據(jù)多線程方式將所述各個軟件程序以子線程形式按照隊列順序進行拆分。
進一步地,所述裝置還包括:
更新單元47,可以用于根據(jù)所述網(wǎng)絡(luò)情況及所述系統(tǒng)情況,按照預(yù)設(shè)的時間間隔更新預(yù)設(shè)參照時間,所述預(yù)設(shè)參照時間用于表示程序安裝出現(xiàn)卡頓狀況的安裝時間。
進一步地,所述計算單元43包括:
執(zhí)行模塊431,可以用于模擬執(zhí)行所述子線程中的軟件程序;
調(diào)整模塊432,可以用于若出現(xiàn)因網(wǎng)絡(luò)情況及系統(tǒng)情況導(dǎo)致的卡頓現(xiàn)象時,調(diào)整模擬執(zhí)行軟件程序模擬進度條的渲染情況;
計算模塊433,可以用于按照所述模擬進度條執(zhí)行的時間計算拆分的各個子線程中的軟件程序執(zhí)行的安裝時間。
所述確定單元45,具體可以用于根據(jù)所述第一權(quán)重值、所述預(yù)設(shè)參照時間、所述第二權(quán)重值及所述安裝時間,按照點積算法計算所述待安裝程序的安裝時間。
本發(fā)明實施例提供了另一種安裝程序的安裝時間確定裝置,與現(xiàn)有無法準確掌握安裝程序的安裝時間相比,本發(fā)明實施例通過將安裝部分的各個軟件程序拆分為多個子線程,計算子線程中程序執(zhí)行的安裝時間,再為軟件安裝環(huán)境配置信息配置參照時間的第一權(quán)重值,以及為安裝時間配置第二權(quán)重值,通過第一權(quán)重值、預(yù)設(shè)參照時間、第二權(quán)重值、安裝時間確認出待安裝程序的安裝時間,以便根據(jù)預(yù)計算的安裝程序的安裝時間來考慮其他程序的執(zhí)行情況,減少安裝過程中因安裝時間不確定而導(dǎo)致的延誤其他程序正常運行的情況,從而提高應(yīng)用程序的安裝效率。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
可以理解的是,上述方法及裝置中的相關(guān)特征可以相互參考。另外,上述實施例中的“第一”、“第二”等是用于區(qū)分各實施例,而并不代表各實施例的優(yōu)劣。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(dsp)來實現(xiàn)根據(jù)本發(fā)明實施例的汽車信息的安全測試方法及裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。