本發(fā)明涉及終端技術(shù)領(lǐng)域,尤其涉及一種系統(tǒng)資源分配方法和一種系統(tǒng)資源分配系統(tǒng)。
背景技術(shù):
一般地,移動(dòng)設(shè)備等終端上的每個(gè)應(yīng)用對(duì)系統(tǒng)資源的耗費(fèi)不同,因此,在運(yùn)行應(yīng)用程序時(shí),需要向該應(yīng)用程序分配系統(tǒng)資源。目前,向應(yīng)用程序分配系統(tǒng)資源的做法一般是按照最高配置為應(yīng)用程序使用當(dāng)前資源,以確保應(yīng)用的啟動(dòng)流暢。比如,在具有8核CPU(Central Processing Unit,中央處理器)的終端中,如果需要運(yùn)行應(yīng)用程序A,則需要開(kāi)啟CPU的全部8核,即會(huì)產(chǎn)生8顆CPU核的功耗。
然而,這種做法具有很多弊端,第一,按照最高配置啟動(dòng)應(yīng)用程序會(huì)產(chǎn)生較高的功耗,增加了用戶(hù)的使用成本,并且不利于環(huán)境保護(hù),第二,按照最高配置啟動(dòng)應(yīng)用程序會(huì)造成機(jī)身發(fā)熱過(guò)快,并使得系統(tǒng)的運(yùn)行速度降低,降低了用戶(hù)體驗(yàn)。
因此,如何合理地為應(yīng)用程序分配系統(tǒng)資源,成為目前亟待解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了一種系統(tǒng)資源分配方法和一種系統(tǒng)資源分配系統(tǒng),可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí)保證應(yīng)用程序運(yùn)行的高效性,以提升用戶(hù)體驗(yàn)。
有鑒于此,本發(fā)明的一方面提出了一種系統(tǒng)資源分配方法,包括:接收對(duì)應(yīng)用程序的運(yùn)行命令;根據(jù)所述運(yùn)行命令,檢索資源值數(shù)據(jù)庫(kù)中是否具有與所述應(yīng)用程序?qū)?yīng)的目標(biāo)資源值;根據(jù)檢索結(jié)果,為所述應(yīng)用程序分配系統(tǒng)資源,以供運(yùn)行所述應(yīng)用程序。
在該技術(shù)方案中,當(dāng)根據(jù)運(yùn)行命令運(yùn)行應(yīng)用程序時(shí),可以首先檢索終端中或與終端相連的服務(wù)器或網(wǎng)絡(luò)中的資源值數(shù)據(jù)庫(kù)內(nèi)是否具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,以便根據(jù)檢索的實(shí)際結(jié)果合理地為該應(yīng)用程序分配系統(tǒng)資源。其中,目標(biāo)資源值為該應(yīng)用程序既能夠順利運(yùn)行又能夠避免產(chǎn)生過(guò)高的功耗的資源值,故如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源。
通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
比如,在具有8核CPU的終端中,當(dāng)接收到對(duì)應(yīng)用程序A的運(yùn)行命令時(shí),如果在資源值數(shù)據(jù)庫(kù)中檢索到應(yīng)用程序A對(duì)應(yīng)的目標(biāo)資源值為1核時(shí),說(shuō)明僅需開(kāi)啟1顆CPU核就能滿(mǎn)足應(yīng)用程序A運(yùn)行的全部性能需求,因此,可以只開(kāi)啟1顆CPU核,即僅產(chǎn)生1顆CPU核的功耗。
在上述技術(shù)方案中,優(yōu)選地,所述目標(biāo)資源值包括以下至少之一或其組合:CPU核數(shù)、CPU主頻、RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)使用數(shù)和RAM頻率。
在該技術(shù)方案中,目標(biāo)資源值包括但不限于CPU核數(shù)、CPU主頻、RAM使用數(shù)和RAM頻率中的一項(xiàng)或多項(xiàng)的組合,通過(guò)對(duì)任一應(yīng)用程序的多種類(lèi)型的目標(biāo)資源值的設(shè)定和存儲(chǔ),增加了目標(biāo)資源值的有效性,換句話(huà)說(shuō),使用多樣化的目標(biāo)資源值能夠使對(duì)應(yīng)用程序的資源分配更加合理有效,從而提升系統(tǒng)的運(yùn)行效率和用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述根據(jù)檢索結(jié)果,為所述應(yīng)用程序分配系統(tǒng)資源,具體包括:當(dāng)所述檢索結(jié)果為所述資源值數(shù)據(jù)庫(kù)中具有所述目標(biāo)資源值時(shí),將所述目標(biāo)資源值設(shè)置為所述應(yīng)用程序的運(yùn)行資源值;當(dāng)所述檢索結(jié)果為所述資源值數(shù)據(jù)庫(kù)中不具有所述目標(biāo)資源值時(shí),為所述應(yīng)用程序分配當(dāng)前最大資源值。
在該技術(shù)方案中,如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源,而如果資源值數(shù)據(jù)庫(kù)內(nèi)不具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,則可以先向應(yīng)用程序分配當(dāng)前最大資源值,以保證其順利運(yùn)行。通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,在為所述應(yīng)用程序分配當(dāng)前最大資源值的步驟后,還包括:實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù),其中,所述運(yùn)行參數(shù)包括CPU負(fù)載、CPU運(yùn)行核數(shù)和CPU主頻數(shù)值;根據(jù)所述系統(tǒng)資源的運(yùn)行參數(shù),調(diào)整分配給所述應(yīng)用程序的資源值;將調(diào)整結(jié)果作為與所述應(yīng)用程序?qū)?yīng)的目標(biāo)資源值存儲(chǔ)至所述資源值數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,為應(yīng)用程序分配當(dāng)前最大資源值后,可以通過(guò)實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù)的方式為其確定對(duì)應(yīng)的目標(biāo)資源值,這種情況適用于新安裝的應(yīng)用程序或更新后的應(yīng)用程序,使得系統(tǒng)可以自主計(jì)算新安裝的應(yīng)用程序或更新后的應(yīng)用程序所需的資源值,提升了資源分配的主動(dòng)性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述根據(jù)所述系統(tǒng)資源的運(yùn)行參數(shù),調(diào)整分配給所述應(yīng)用程序的資源值,具體包括:判斷所述CPU負(fù)載是否大于或等于預(yù)定百分比;當(dāng)判斷結(jié)果為是時(shí),檢測(cè)所述CPU運(yùn)行核數(shù)和/或所述CPU主頻數(shù)值是否為最高,以供確定是否繼續(xù)提升所述CPU運(yùn)行核數(shù)和/或所述CPU主頻數(shù)值;當(dāng)所述判斷結(jié)果為否時(shí),降低所述CPU運(yùn)行核數(shù)和/或所述CPU主頻數(shù)值。
在該技術(shù)方案中,預(yù)定百分比可以設(shè)置為70%或80%,當(dāng)然,也可以設(shè)置為根據(jù)需要除此之外的其他值,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),可以檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,當(dāng)確定CPU運(yùn)行核數(shù)為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU運(yùn)行核數(shù)來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU主頻數(shù)值,以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
同樣地,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),也可以先檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,當(dāng)確定CPU主頻數(shù)值為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU主頻數(shù)值來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU運(yùn)行核數(shù),以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
當(dāng)然,如果CPU運(yùn)行核數(shù)和CPU主頻數(shù)值均未達(dá)到最高,也可以同時(shí)對(duì)其進(jìn)行升高。
同理,當(dāng)CPU負(fù)載小于預(yù)定百分比時(shí),可采取類(lèi)似的方式對(duì)CPU運(yùn)行核數(shù)進(jìn)行降核和/或降低CPU主頻數(shù)值。
通過(guò)該技術(shù)方案,可以通過(guò)依據(jù)實(shí)際情況調(diào)整CPU運(yùn)行核數(shù)和CPU主頻數(shù)值來(lái)確定一個(gè)應(yīng)用程序運(yùn)行所需的目標(biāo)資源值,即實(shí)現(xiàn)了系統(tǒng)自動(dòng)獲取應(yīng)用程序所需的目標(biāo)資源值,提升了資源分配的主動(dòng)性和準(zhǔn)確性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
本發(fā)明的另一方面提出了一種系統(tǒng)資源分配系統(tǒng),包括:運(yùn)行命令接收單元,用于接收對(duì)應(yīng)用程序的運(yùn)行命令;資源值檢索單元,用于根據(jù)所述運(yùn)行命令,檢索資源值數(shù)據(jù)庫(kù)中是否具有與所述應(yīng)用程序?qū)?yīng)的目標(biāo)資源值;系統(tǒng)資源分配單元,用于根據(jù)檢索結(jié)果,為所述應(yīng)用程序分配系統(tǒng)資源,以供運(yùn)行所述應(yīng)用程序。
在該技術(shù)方案中,當(dāng)根據(jù)運(yùn)行命令運(yùn)行應(yīng)用程序時(shí),可以首先檢索終端中或與終端相連的服務(wù)器或網(wǎng)絡(luò)中的資源值數(shù)據(jù)庫(kù)內(nèi)是否具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,以便根據(jù)檢索的實(shí)際結(jié)果合理地為該應(yīng)用程序分配系統(tǒng)資源。其中,目標(biāo)資源值為該應(yīng)用程序既能夠順利運(yùn)行又能夠避免產(chǎn)生過(guò)高的功耗的資源值,故如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源。
通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
比如,在具有8核CPU的終端中,當(dāng)接收到對(duì)應(yīng)用程序A的運(yùn)行命令時(shí),如果在資源值數(shù)據(jù)庫(kù)中檢索到應(yīng)用程序A對(duì)應(yīng)的目標(biāo)資源值為1核時(shí),說(shuō)明僅需開(kāi)啟1顆CPU核就能滿(mǎn)足應(yīng)用程序A運(yùn)行的全部性能需求,因此,可以只開(kāi)啟1顆CPU核,即僅產(chǎn)生1顆CPU核的功耗。
在上述技術(shù)方案中,優(yōu)選地,所述目標(biāo)資源值包括以下至少之一或其組合:CPU核數(shù)、CPU主頻、RAM使用數(shù)和RAM頻率。
在該技術(shù)方案中,目標(biāo)資源值包括但不限于CPU核數(shù)、CPU主頻、RAM使用數(shù)和RAM頻率中的一項(xiàng)或多項(xiàng)的組合,通過(guò)對(duì)任一應(yīng)用程序的多種類(lèi)型的目標(biāo)資源值的設(shè)定和存儲(chǔ),增加了目標(biāo)資源值的有效性,換句話(huà)說(shuō),使用多樣化的目標(biāo)資源值能夠使對(duì)應(yīng)用程序的資源分配更加合理有效,從而提升系統(tǒng)的運(yùn)行效率和用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述系統(tǒng)資源分配單元包括:第一執(zhí)行單元,用于當(dāng)所述檢索結(jié)果為所述資源值數(shù)據(jù)庫(kù)中具有所述目標(biāo)資源值時(shí),將所述目標(biāo)資源值設(shè)置為所述應(yīng)用程序的運(yùn)行資源值;第二執(zhí)行單元,用于當(dāng)所述檢索結(jié)果為所述資源值數(shù)據(jù)庫(kù)中不具有所述目標(biāo)資源值時(shí),為所述應(yīng)用程序分配當(dāng)前最大資源值。
在該技術(shù)方案中,如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源,而如果資源值數(shù)據(jù)庫(kù)內(nèi)不具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,則可以先向應(yīng)用程序分配當(dāng)前最大資源值,以保證其順利運(yùn)行。通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,還包括:系統(tǒng)資源監(jiān)控單元,用于在所述第二執(zhí)行單元為所述應(yīng)用程序分配當(dāng)前最大資源值后,實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù),其中,所述運(yùn)行參數(shù)包括CPU負(fù)載、CPU運(yùn)行核數(shù)和CPU主頻數(shù)值;資源值調(diào)整單元,用于根據(jù)所述系統(tǒng)資源的運(yùn)行參數(shù),調(diào)整分配給所述應(yīng)用程序的資源值;資源值存儲(chǔ)單元,用于將調(diào)整結(jié)果作為與所述應(yīng)用程序?qū)?yīng)的目標(biāo)資源值存儲(chǔ)至所述資源值數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,為應(yīng)用程序分配當(dāng)前最大資源值后,可以通過(guò)實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù)的方式為其確定對(duì)應(yīng)的目標(biāo)資源值,這種情況適用于新安裝的應(yīng)用程序或更新后的應(yīng)用程序,使得系統(tǒng)可以自主計(jì)算新安裝的應(yīng)用程序或更新后的應(yīng)用程序所需的資源值,提升了資源分配的主動(dòng)性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述資源值調(diào)整單元包括:判斷單元,用于判斷所述CPU負(fù)載是否大于或等于預(yù)定百分比;第一處理單元,用于當(dāng)判斷結(jié)果為是時(shí),檢測(cè)所述CPU運(yùn)行核數(shù)和/或所述CPU主頻數(shù)值是否為最高,以供確定是否繼續(xù)提升所述CPU運(yùn)行核數(shù)和/或所述CPU主頻數(shù)值;第二處理單元,用于當(dāng)所述判斷結(jié)果為否時(shí),降低所述CPU運(yùn)行核數(shù)和/或所述CPU主頻數(shù)值。
在該技術(shù)方案中,預(yù)定百分比可以設(shè)置為70%或80%,當(dāng)然,也可以設(shè)置為根據(jù)需要除此之外的其他值,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),可以檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,當(dāng)確定CPU運(yùn)行核數(shù)為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU運(yùn)行核數(shù)來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU主頻數(shù)值,以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
同樣地,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),也可以先檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,當(dāng)確定CPU主頻數(shù)值為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU主頻數(shù)值來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU運(yùn)行核數(shù),以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
當(dāng)然,如果CPU運(yùn)行核數(shù)和CPU主頻數(shù)值均未達(dá)到最高,也可以同時(shí)對(duì)其進(jìn)行升高。
同理,當(dāng)CPU負(fù)載小于預(yù)定百分比時(shí),可采取類(lèi)似的方式對(duì)CPU運(yùn)行核數(shù)進(jìn)行降核和/或降低CPU主頻數(shù)值。
通過(guò)該技術(shù)方案,可以通過(guò)依據(jù)實(shí)際情況調(diào)整CPU運(yùn)行核數(shù)和CPU主頻數(shù)值來(lái)確定一個(gè)應(yīng)用程序運(yùn)行所需的目標(biāo)資源值,即實(shí)現(xiàn)了系統(tǒng)自動(dòng)獲取應(yīng)用程序所需的目標(biāo)資源值,提升了資源分配的主動(dòng)性和準(zhǔn)確性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
本發(fā)明的再一方面提出了一種終端,包括上述技術(shù)方案中任一項(xiàng)所述的系統(tǒng)資源分配系統(tǒng),因此,該終端具有和上述技術(shù)方案中任一項(xiàng)所述的系統(tǒng)資源分配系統(tǒng)相同的技術(shù)效果,在此不再贅述。
通過(guò)以上技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
【附圖說(shuō)明】
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)資源分配方法的流程圖;
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)資源分配系統(tǒng)的框圖;
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端的框圖;
圖4示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的系統(tǒng)資源分配方法的流程圖;
圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的目標(biāo)資源值確定方法的流程圖。
【具體實(shí)施方式】
為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A(yíng),同時(shí)存在A(yíng)和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
應(yīng)當(dāng)理解,盡管在本發(fā)明實(shí)施例中可能采用術(shù)語(yǔ)第一、第二等來(lái)描述執(zhí)行單元,但這些執(zhí)行單元不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將執(zhí)行單元彼此區(qū)分開(kāi)。例如,在不脫離本發(fā)明實(shí)施例范圍的情況下,第一執(zhí)行單元也可以被稱(chēng)為第二執(zhí)行單元,類(lèi)似地,第二執(zhí)行單元也可以被稱(chēng)為第一執(zhí)行單元。同理,盡管在本發(fā)明實(shí)施例中采用術(shù)語(yǔ)第一、第二等來(lái)描述處的第一處理單元和第二處理單元,但這些處理單元不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將處理單元彼此區(qū)分開(kāi)。
取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類(lèi)似地,取決于語(yǔ)境,短語(yǔ)“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
實(shí)施例一
圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)資源分配方法的流程圖。
如圖1所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)資源分配方法,包括:
步驟102,接收對(duì)應(yīng)用程序的運(yùn)行命令;
步驟104,根據(jù)運(yùn)行命令,檢索資源值數(shù)據(jù)庫(kù)中是否具有與應(yīng)用程序?qū)?yīng)的目標(biāo)資源值;
步驟106,根據(jù)檢索結(jié)果,為應(yīng)用程序分配系統(tǒng)資源,以供運(yùn)行應(yīng)用程序。
在該技術(shù)方案中,當(dāng)根據(jù)運(yùn)行命令運(yùn)行應(yīng)用程序時(shí),可以首先檢索終端中或與終端相連的服務(wù)器或網(wǎng)絡(luò)中的資源值數(shù)據(jù)庫(kù)內(nèi)是否具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,以便根據(jù)檢索的實(shí)際結(jié)果合理地為該應(yīng)用程序分配系統(tǒng)資源。其中,目標(biāo)資源值為該應(yīng)用程序既能夠順利運(yùn)行又能夠避免產(chǎn)生過(guò)高的功耗的資源值,故如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源。
通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
比如,在具有8核CPU的終端中,當(dāng)接收到對(duì)應(yīng)用程序A的運(yùn)行命令時(shí),如果在資源值數(shù)據(jù)庫(kù)中檢索到應(yīng)用程序A對(duì)應(yīng)的目標(biāo)資源值為1核時(shí),說(shuō)明僅需開(kāi)啟1顆CPU核就能滿(mǎn)足應(yīng)用程序A運(yùn)行的全部性能需求,因此,可以只開(kāi)啟1顆CPU核,即僅產(chǎn)生1顆CPU核的功耗。
在上述技術(shù)方案中,優(yōu)選地,目標(biāo)資源值包括以下至少之一或其組合:CPU核數(shù)、CPU主頻、RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)使用數(shù)和RAM頻率。
在該技術(shù)方案中,目標(biāo)資源值包括但不限于CPU核數(shù)、CPU主頻、RAM使用數(shù)和RAM頻率中的一項(xiàng)或多項(xiàng)的組合,通過(guò)對(duì)任一應(yīng)用程序的多種類(lèi)型的目標(biāo)資源值的設(shè)定和存儲(chǔ),增加了目標(biāo)資源值的有效性,換句話(huà)說(shuō),使用多樣化的目標(biāo)資源值能夠使對(duì)應(yīng)用程序的資源分配更加合理有效,從而提升系統(tǒng)的運(yùn)行效率和用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,步驟106具體包括:當(dāng)檢索結(jié)果為資源值數(shù)據(jù)庫(kù)中具有目標(biāo)資源值時(shí),將目標(biāo)資源值設(shè)置為應(yīng)用程序的運(yùn)行資源值;當(dāng)檢索結(jié)果為資源值數(shù)據(jù)庫(kù)中不具有目標(biāo)資源值時(shí),為應(yīng)用程序分配當(dāng)前最大資源值。
在該技術(shù)方案中,如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源,而如果資源值數(shù)據(jù)庫(kù)內(nèi)不具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,則可以先向應(yīng)用程序分配當(dāng)前最大資源值,以保證其順利運(yùn)行。通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,在為應(yīng)用程序分配當(dāng)前最大資源值的步驟后,還包括:實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù),其中,運(yùn)行參數(shù)包括CPU負(fù)載、CPU運(yùn)行核數(shù)和CPU主頻數(shù)值;根據(jù)系統(tǒng)資源的運(yùn)行參數(shù),調(diào)整分配給應(yīng)用程序的資源值;將調(diào)整結(jié)果作為與應(yīng)用程序?qū)?yīng)的目標(biāo)資源值存儲(chǔ)至資源值數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,為應(yīng)用程序分配當(dāng)前最大資源值后,可以通過(guò)實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù)的方式為其確定對(duì)應(yīng)的目標(biāo)資源值,這種情況適用于新安裝的應(yīng)用程序或更新后的應(yīng)用程序,使得系統(tǒng)可以自主計(jì)算新安裝的應(yīng)用程序或更新后的應(yīng)用程序所需的資源值,提升了資源分配的主動(dòng)性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,根據(jù)系統(tǒng)資源的運(yùn)行參數(shù),調(diào)整分配給應(yīng)用程序的資源值,具體包括:判斷CPU負(fù)載是否大于或等于預(yù)定百分比;當(dāng)判斷結(jié)果為是時(shí),檢測(cè)CPU運(yùn)行核數(shù)和/或CPU主頻數(shù)值是否為最高,以供確定是否繼續(xù)提升CPU運(yùn)行核數(shù)和/或CPU主頻數(shù)值;當(dāng)判斷結(jié)果為否時(shí),降低CPU運(yùn)行核數(shù)和/或CPU主頻數(shù)值。
在該技術(shù)方案中,預(yù)定百分比可以設(shè)置為70%或80%,當(dāng)然,也可以設(shè)置為根據(jù)需要除此之外的其他值,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),可以檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,當(dāng)確定CPU運(yùn)行核數(shù)為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU運(yùn)行核數(shù)來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU主頻數(shù)值,以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
同樣地,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),也可以先檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,當(dāng)確定CPU主頻數(shù)值為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU主頻數(shù)值來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU運(yùn)行核數(shù),以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
當(dāng)然,如果CPU運(yùn)行核數(shù)和CPU主頻數(shù)值均未達(dá)到最高,也可以同時(shí)對(duì)其進(jìn)行升高。
同理,當(dāng)CPU負(fù)載小于預(yù)定百分比時(shí),可采取類(lèi)似的方式對(duì)CPU運(yùn)行核數(shù)進(jìn)行降核和/或降低CPU主頻數(shù)值。
通過(guò)該技術(shù)方案,可以通過(guò)依據(jù)實(shí)際情況調(diào)整CPU運(yùn)行核數(shù)和CPU主頻數(shù)值來(lái)確定一個(gè)應(yīng)用程序運(yùn)行所需的目標(biāo)資源值,即實(shí)現(xiàn)了系統(tǒng)自動(dòng)獲取應(yīng)用程序所需的目標(biāo)資源值,提升了資源分配的主動(dòng)性和準(zhǔn)確性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
實(shí)施例二
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)資源分配系統(tǒng)的框圖。
如圖2所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)資源分配系統(tǒng)200,包括:運(yùn)行命令接收單元202、資源值檢索單元204和系統(tǒng)資源分配單元206。
其中,運(yùn)行命令接收單元202用于接收對(duì)應(yīng)用程序的運(yùn)行命令;資源值檢索單元204用于根據(jù)運(yùn)行命令,檢索資源值數(shù)據(jù)庫(kù)中是否具有與應(yīng)用程序?qū)?yīng)的目標(biāo)資源值;系統(tǒng)資源分配單元206用于根據(jù)檢索結(jié)果,為應(yīng)用程序分配系統(tǒng)資源,以供運(yùn)行應(yīng)用程序。
在該技術(shù)方案中,當(dāng)根據(jù)運(yùn)行命令運(yùn)行應(yīng)用程序時(shí),可以首先檢索終端中或與終端相連的服務(wù)器或網(wǎng)絡(luò)中的資源值數(shù)據(jù)庫(kù)內(nèi)是否具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,以便根據(jù)檢索的實(shí)際結(jié)果合理地為該應(yīng)用程序分配系統(tǒng)資源。其中,目標(biāo)資源值為該應(yīng)用程序既能夠順利運(yùn)行又能夠避免產(chǎn)生過(guò)高的功耗的資源值,故如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源。
通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
比如,在具有8核CPU的終端中,當(dāng)接收到對(duì)應(yīng)用程序A的運(yùn)行命令時(shí),如果在資源值數(shù)據(jù)庫(kù)中檢索到應(yīng)用程序A對(duì)應(yīng)的目標(biāo)資源值為1核時(shí),說(shuō)明僅需開(kāi)啟1顆CPU核就能滿(mǎn)足應(yīng)用程序A運(yùn)行的全部性能需求,因此,可以只開(kāi)啟1顆CPU核,即僅產(chǎn)生1顆CPU核的功耗。
在上述技術(shù)方案中,優(yōu)選地,目標(biāo)資源值包括以下至少之一或其組合:CPU核數(shù)、CPU主頻、RAM使用數(shù)和RAM頻率。
在該技術(shù)方案中,目標(biāo)資源值包括但不限于CPU核數(shù)、CPU主頻、RAM使用數(shù)和RAM頻率中的一項(xiàng)或多項(xiàng)的組合,通過(guò)對(duì)任一應(yīng)用程序的多種類(lèi)型的目標(biāo)資源值的設(shè)定和存儲(chǔ),增加了目標(biāo)資源值的有效性,換句話(huà)說(shuō),使用多樣化的目標(biāo)資源值能夠使對(duì)應(yīng)用程序的資源分配更加合理有效,從而提升系統(tǒng)的運(yùn)行效率和用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,系統(tǒng)資源分配單元206包括:第一執(zhí)行單元2062,用于當(dāng)檢索結(jié)果為資源值數(shù)據(jù)庫(kù)中具有目標(biāo)資源值時(shí),將目標(biāo)資源值設(shè)置為應(yīng)用程序的運(yùn)行資源值;第二執(zhí)行單元2064,用于當(dāng)檢索結(jié)果為資源值數(shù)據(jù)庫(kù)中不具有目標(biāo)資源值時(shí),為應(yīng)用程序分配當(dāng)前最大資源值。
在該技術(shù)方案中,如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源,而如果資源值數(shù)據(jù)庫(kù)內(nèi)不具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,則可以先向應(yīng)用程序分配當(dāng)前最大資源值,以保證其順利運(yùn)行。通過(guò)該技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,還包括:系統(tǒng)資源監(jiān)控單元208,用于在第二執(zhí)行單元為應(yīng)用程序分配當(dāng)前最大資源值后,實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù),其中,運(yùn)行參數(shù)包括CPU負(fù)載、CPU運(yùn)行核數(shù)和CPU主頻數(shù)值;資源值調(diào)整單元210,用于根據(jù)系統(tǒng)資源的運(yùn)行參數(shù),調(diào)整分配給應(yīng)用程序的資源值;資源值存儲(chǔ)單元212,用于將調(diào)整結(jié)果作為與應(yīng)用程序?qū)?yīng)的目標(biāo)資源值存儲(chǔ)至資源值數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,為應(yīng)用程序分配當(dāng)前最大資源值后,可以通過(guò)實(shí)時(shí)監(jiān)控系統(tǒng)資源的運(yùn)行參數(shù)的方式為其確定對(duì)應(yīng)的目標(biāo)資源值,這種情況適用于新安裝的應(yīng)用程序或更新后的應(yīng)用程序,使得系統(tǒng)可以自主計(jì)算新安裝的應(yīng)用程序或更新后的應(yīng)用程序所需的資源值,提升了資源分配的主動(dòng)性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
在上述任一技術(shù)方案中,優(yōu)選地,資源值調(diào)整單元210包括:判斷單元2102,用于判斷CPU負(fù)載是否大于或等于預(yù)定百分比;第一處理單元2104,用于當(dāng)判斷結(jié)果為是時(shí),檢測(cè)CPU運(yùn)行核數(shù)和/或CPU主頻數(shù)值是否為最高,以供確定是否繼續(xù)提升CPU運(yùn)行核數(shù)和/或CPU主頻數(shù)值;第二處理單元2106,用于當(dāng)判斷結(jié)果為否時(shí),降低CPU運(yùn)行核數(shù)和/或CPU主頻數(shù)值。
在該技術(shù)方案中,預(yù)定百分比可以設(shè)置為70%或80%,當(dāng)然,也可以設(shè)置為根據(jù)需要除此之外的其他值,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),可以檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,當(dāng)確定CPU運(yùn)行核數(shù)為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU運(yùn)行核數(shù)來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU主頻數(shù)值,以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
同樣地,當(dāng)CPU負(fù)載大于或等于預(yù)定百分比時(shí),也可以先檢測(cè)當(dāng)前使用的CPU主頻數(shù)值是否為最高,當(dāng)確定CPU主頻數(shù)值為最高時(shí),說(shuō)明已經(jīng)無(wú)法通過(guò)提升CPU主頻數(shù)值來(lái)保證系統(tǒng)及應(yīng)用程序的順利運(yùn)行,故可以進(jìn)一步檢測(cè)當(dāng)前使用的CPU運(yùn)行核數(shù)是否為最高,如果是,則不動(dòng)作,如果否,則提升CPU運(yùn)行核數(shù),以保證系統(tǒng)和應(yīng)用程序的順利運(yùn)行。
當(dāng)然,如果CPU運(yùn)行核數(shù)和CPU主頻數(shù)值均未達(dá)到最高,也可以同時(shí)對(duì)其進(jìn)行升高。
同理,當(dāng)CPU負(fù)載小于預(yù)定百分比時(shí),可采取類(lèi)似的方式對(duì)CPU運(yùn)行核數(shù)進(jìn)行降核和/或降低CPU主頻數(shù)值。
通過(guò)該技術(shù)方案,可以通過(guò)依據(jù)實(shí)際情況調(diào)整CPU運(yùn)行核數(shù)和CPU主頻數(shù)值來(lái)確定一個(gè)應(yīng)用程序運(yùn)行所需的目標(biāo)資源值,即實(shí)現(xiàn)了系統(tǒng)自動(dòng)獲取應(yīng)用程序所需的目標(biāo)資源值,提升了資源分配的主動(dòng)性和準(zhǔn)確性,從而適應(yīng)用戶(hù)的實(shí)際操作,提升用戶(hù)體驗(yàn)。
實(shí)施例三
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端的框圖。
如圖3所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端300,包括圖2示出的系統(tǒng)資源分配系統(tǒng)200,因此,該終端300具有和圖2示出的系統(tǒng)資源分配系統(tǒng)200相同的技術(shù)效果,在此不再贅述。
實(shí)施例四
圖4示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的系統(tǒng)資源分配方法的流程圖。
如圖4所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的系統(tǒng)資源分配方法,包括:
步驟402,接收對(duì)應(yīng)用程序A的進(jìn)程啟動(dòng)命令。
步驟404,向系統(tǒng)發(fā)出運(yùn)行應(yīng)用程序A的資源請(qǐng)求。
步驟406,從資源值數(shù)據(jù)庫(kù)中檢索是否具有應(yīng)用程序A對(duì)應(yīng)的目標(biāo)資源值,當(dāng)檢索結(jié)果為是時(shí),進(jìn)入步驟408,否則,進(jìn)入步驟410。
其中,目標(biāo)資源值為該應(yīng)用程序既能夠順利運(yùn)行又能夠避免產(chǎn)生過(guò)高的功耗的資源值,檢索終端中或與終端相連的服務(wù)器或網(wǎng)絡(luò)中的資源值數(shù)據(jù)庫(kù)內(nèi)是否具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,以便根據(jù)檢索的實(shí)際結(jié)果合理地為該應(yīng)用程序分配系統(tǒng)資源。
步驟408,將該目標(biāo)資源值設(shè)置為應(yīng)用程序A啟動(dòng)所需的資源。
步驟410,將系統(tǒng)默認(rèn)最大值設(shè)置為應(yīng)用程序A啟動(dòng)所需的資源。
步驟412,使用設(shè)置的資源啟動(dòng)應(yīng)用程序A。
如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源。通過(guò)資源值數(shù)據(jù)庫(kù)中存儲(chǔ)的目標(biāo)資源值啟動(dòng)應(yīng)用程序A,可以避免因直接以最大資源啟動(dòng)應(yīng)用程序A而造成的過(guò)高功耗,保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
實(shí)施例五
圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的目標(biāo)資源值確定方法的流程圖。
如圖5所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的目標(biāo)資源值確定方法,包括:
步驟502,在運(yùn)行應(yīng)用程序B時(shí),檢測(cè)終端的CPU負(fù)載。
步驟504,判斷終端的CPU負(fù)載是否大于或等于80%,當(dāng)判斷結(jié)果為是時(shí),進(jìn)入步驟506,否則,進(jìn)入步驟508。其中,判斷的標(biāo)準(zhǔn)也就是CPU負(fù)載的預(yù)定閾值可以是80%,也可以是根據(jù)需要除此之外的其他數(shù)值。
步驟506,判斷系統(tǒng)當(dāng)前是否處于最高主頻,當(dāng)判斷結(jié)果為是時(shí),進(jìn)入步驟510,否則,進(jìn)入步驟512。
步驟508,檢測(cè)是否能夠降低CPU核數(shù),當(dāng)檢測(cè)結(jié)果為是時(shí),進(jìn)入步驟514,否則,進(jìn)入步驟516。
步驟510,增加CPU核數(shù),并返回步驟504,繼續(xù)檢測(cè)CPU負(fù)載是否大于或等于80%。
步驟512,提升CPU主頻,并返回步驟504,繼續(xù)檢測(cè)CPU負(fù)載是否大于或等于80%。通過(guò)以上增加CPU核數(shù)或提升CPU主頻的步驟,可以為應(yīng)用程序增加系統(tǒng)資源,避免因系統(tǒng)資源占用不足而無(wú)法順利運(yùn)行,提升了用戶(hù)體驗(yàn)。
步驟514,降低CPU核數(shù),并返回步驟504,繼續(xù)檢測(cè)CPU負(fù)載是否大于或等于80%。通過(guò)降低CPU核數(shù)的步驟,可以為應(yīng)用程序減少已分配的系統(tǒng)資源,避免因占用系統(tǒng)資源過(guò)多而造成的功耗過(guò)大及內(nèi)存浪費(fèi)等問(wèn)題,降低了使用成本,提升了用戶(hù)體驗(yàn)。
步驟516,檢測(cè)是否能夠降低CPU主頻,當(dāng)檢測(cè)結(jié)果為是時(shí),進(jìn)入步驟518,否則,進(jìn)入步驟520。
步驟518,降低CPU主頻,并返回步驟504,繼續(xù)檢測(cè)CPU負(fù)載是否大于或等于80%。通過(guò)降低CPU主頻的步驟,可以為應(yīng)用程序減少已分配的系統(tǒng)資源,避免因占用系統(tǒng)資源過(guò)多而造成的功耗過(guò)大及內(nèi)存浪費(fèi)等問(wèn)題,降低了使用成本,提升了用戶(hù)體驗(yàn)。
步驟520,記錄當(dāng)前的系統(tǒng)資源值。
步驟522,將該系統(tǒng)資源值存儲(chǔ)至資源值數(shù)據(jù)庫(kù)中,作為應(yīng)用程序B的目標(biāo)資源值。這樣,通過(guò)循環(huán)檢測(cè)CPU負(fù)載,可以依據(jù)結(jié)果反復(fù)調(diào)整應(yīng)用程序分配的系統(tǒng)資源值,直至其占用的系統(tǒng)資源值既能夠保證其順利運(yùn)行,也不會(huì)因占用系統(tǒng)資源過(guò)多而造成內(nèi)存浪費(fèi)或功耗過(guò)多。
換句話(huà)說(shuō),即實(shí)現(xiàn)了使終端的系統(tǒng)本身通過(guò)自學(xué)習(xí)的方式合理為應(yīng)用程序分配系統(tǒng)資源,這樣,在運(yùn)行任一應(yīng)用程序時(shí),如果資源值數(shù)據(jù)庫(kù)內(nèi)具有該應(yīng)用程序?qū)?yīng)的目標(biāo)資源值,則可以直接按照該目標(biāo)資源值向該應(yīng)用程序分配系統(tǒng)資源,既能夠避免因直接以最大資源啟動(dòng)應(yīng)用程序而造成的過(guò)高功耗,也保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
下面詳細(xì)描述根據(jù)本發(fā)明的一個(gè)實(shí)施例的分配系統(tǒng)資源技術(shù)方案。
首先,創(chuàng)建資源值數(shù)據(jù)庫(kù),資源值數(shù)據(jù)庫(kù)可以是一個(gè)單獨(dú)的數(shù)據(jù)庫(kù),也可以是一個(gè)文件,如數(shù)據(jù)表等。
第二,對(duì)移動(dòng)設(shè)備上的每個(gè)應(yīng)用程序所需的系統(tǒng)資源進(jìn)行量化,并將量化結(jié)果記錄在資源值數(shù)據(jù)庫(kù)中,以便在運(yùn)行該應(yīng)用程序時(shí),直接根據(jù)資源值數(shù)據(jù)庫(kù)中已記錄的對(duì)應(yīng)資源值為其分配系統(tǒng)資源。
對(duì)移動(dòng)設(shè)備上的每個(gè)應(yīng)用程序所需的系統(tǒng)資源進(jìn)行量化的過(guò)程,具體來(lái)說(shuō),可先對(duì)每個(gè)應(yīng)用程序分配最大資源數(shù),即系統(tǒng)當(dāng)前能夠提供的最大資源,在運(yùn)行應(yīng)用程序的期間,再對(duì)每個(gè)應(yīng)用程序進(jìn)行資源重新核對(duì),定義出新的資源量化值,存放在資源值數(shù)據(jù)庫(kù)中,作為下次運(yùn)行該應(yīng)用程序時(shí)向系統(tǒng)申報(bào)資源數(shù)的依據(jù)。
這樣,每次運(yùn)行應(yīng)用程序前,可以先申請(qǐng)資源數(shù),再按申請(qǐng)到的資源數(shù)發(fā)送消息給功耗助手等資源分配工具,以完成系統(tǒng)資源的合理分配,啟動(dòng)該應(yīng)用程序。
功耗助手等資源分配工具需要實(shí)時(shí)監(jiān)控系統(tǒng)資源的使用狀態(tài),才能夠依據(jù)應(yīng)用程序當(dāng)前使用資源的狀況動(dòng)態(tài)調(diào)整該應(yīng)用程序分配的資源數(shù)。其中,調(diào)整資源數(shù)的依據(jù)包括以下至少之一或其組合:當(dāng)前CPU主頻數(shù)值、當(dāng)前CPU運(yùn)行核數(shù)和當(dāng)前CPU負(fù)載程度。
具體來(lái)說(shuō),可以建立一個(gè)數(shù)學(xué)模型,比如,當(dāng)CPU負(fù)載大于70%(此閾值可根據(jù)不同設(shè)備的性能而定)時(shí),是否能通過(guò)提升CPU主頻來(lái)降低CPU負(fù)載程度,或是再開(kāi)啟一顆CPU核來(lái)加強(qiáng)運(yùn)算,其中,一般不提倡超頻,這里所述的提升CPU主頻是指在硬件規(guī)定內(nèi)的頻率調(diào)節(jié)。
我們可以把這一數(shù)學(xué)模型進(jìn)一步簡(jiǎn)化:CPU主頻可以化分為多個(gè)檔位,當(dāng)CPU負(fù)載程度大于70%時(shí),提高CPU主頻至上一檔,并再次查看當(dāng)前CPU負(fù)載程度是否在70%以?xún)?nèi),若不滿(mǎn)足條件,再開(kāi)啟一顆CPU核,以加強(qiáng)處理能力,并繼續(xù)查看當(dāng)前CPU負(fù)載程度是否在70%以?xún)?nèi),若仍然不滿(mǎn)足,需要繼續(xù)開(kāi)啟CPU核數(shù)來(lái)查看。而當(dāng)滿(mǎn)足當(dāng)前CPU負(fù)載程度在70%以?xún)?nèi)的條件時(shí),記錄此應(yīng)用程序需要的資源數(shù)作為目標(biāo)資源值。
如果一開(kāi)始檢測(cè)到的當(dāng)前CPU負(fù)載程度就在70%以?xún)?nèi),可以逐步降低CPU核數(shù)和/或CPU主頻,直至將CPU核數(shù)和/或CPU主頻降低至能夠保證應(yīng)用程序順利運(yùn)行的最低標(biāo)準(zhǔn),再記錄此時(shí)應(yīng)用程序需要的資源數(shù)作為目標(biāo)資源值,從而可以更加準(zhǔn)確合理地分配系統(tǒng)資源,降低系統(tǒng)功耗,避免內(nèi)存浪費(fèi),并提升用戶(hù)體驗(yàn)。
在當(dāng)前只有一個(gè)應(yīng)用程序運(yùn)行時(shí),可評(píng)測(cè)出該應(yīng)用程序需要的系統(tǒng)資源數(shù),如系統(tǒng)負(fù)載處于70%至80%的范圍內(nèi)時(shí),當(dāng)前的系統(tǒng)資源數(shù)即為該應(yīng)用程序所需要的系統(tǒng)資源數(shù),另外,也可以將單個(gè)應(yīng)用運(yùn)行時(shí)評(píng)測(cè)的系統(tǒng)資源數(shù)換算為多個(gè)應(yīng)用運(yùn)行時(shí)疊加值。
在多個(gè)應(yīng)用程序同時(shí)運(yùn)行時(shí),可以只評(píng)測(cè)前臺(tái)運(yùn)行的應(yīng)用程序需要的系統(tǒng)資源數(shù),另外,也可以將多個(gè)應(yīng)用程序同時(shí)運(yùn)行時(shí)評(píng)測(cè)出的前臺(tái)應(yīng)用程序的系統(tǒng)資源數(shù)換算為僅單獨(dú)運(yùn)行該應(yīng)用程序的系統(tǒng)資源數(shù)。
在具有8核CPU的終端中,當(dāng)接收到對(duì)應(yīng)用程序A的運(yùn)行命令時(shí),如果在資源值數(shù)據(jù)庫(kù)中檢索到應(yīng)用程序A對(duì)應(yīng)的目標(biāo)資源值為1顆CPU核時(shí),說(shuō)明僅需開(kāi)啟1顆CPU核就能滿(mǎn)足應(yīng)用程序A運(yùn)行的全部性能需求,因此,可以只開(kāi)啟1顆CPU核,即僅產(chǎn)生1顆CPU核的功耗。
以上結(jié)合附圖詳細(xì)說(shuō)明了本發(fā)明的技術(shù)方案,通過(guò)本發(fā)明的技術(shù)方案,可以合理地為應(yīng)用程序分配系統(tǒng)資源,能夠在避免產(chǎn)生過(guò)高的功耗的同時(shí),保證應(yīng)用程序運(yùn)行的高效性,大大提升了用戶(hù)體驗(yàn)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
需要說(shuō)明的是,本發(fā)明實(shí)施例中所涉及的終端可以包括但不限于個(gè)人計(jì)算機(jī)(Personal Computer,PC)、個(gè)人數(shù)字助理(Personal Digital Assistant,PDA)、無(wú)線(xiàn)手持設(shè)備、平板電腦(Tablet Computer)、手機(jī)、MP3播放器、MP4播放器等。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)裝置(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)裝置等)或處理器(Processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(Read-Only Memory,ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。