設(shè)備優(yōu)化方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種設(shè)備優(yōu)化方法及裝置,所述設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核,所述方法包括:設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核,其特征在于,包括:獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的狀態(tài)信息包括該進(jìn)程的處理器使用率;根據(jù)第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核;指定第一類進(jìn)程運(yùn)行在第一類內(nèi)核中,指定第二類進(jìn)程運(yùn)行在第二類內(nèi)核中;其中,第一類進(jìn)程的優(yōu)先級(jí)高于第二類進(jìn)程的優(yōu)先級(jí)。本發(fā)明可以解決CPU滿載時(shí)清理或優(yōu)化程序無法快速運(yùn)行的問題。
【專利說明】設(shè)備優(yōu)化方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù),具體涉及一種設(shè)備優(yōu)化方法及裝置。
【背景技術(shù)】
[0002]當(dāng)前,海量的應(yīng)用程序給用戶帶來了更多的選擇,用戶一般都會(huì)選擇在移動(dòng)通訊設(shè)備/個(gè)人計(jì)算機(jī)設(shè)備上安裝多個(gè)應(yīng)用程序,以滿足自己在不同方面的需求,例如網(wǎng)頁(yè)瀏覽、音頻和視頻播放、閱讀、網(wǎng)絡(luò)電話、導(dǎo)航定位、游戲等。
[0003]目前,大多數(shù)電子設(shè)備的操作系統(tǒng)屬于多核操作系統(tǒng),例如,四核手機(jī)、八核電腦等,用戶在移動(dòng)通訊設(shè)備/個(gè)人計(jì)算機(jī)設(shè)備上開機(jī)啟動(dòng)有較多的應(yīng)用程序,且在用戶選擇退出部分應(yīng)用程序后,該應(yīng)用程序并不會(huì)完全關(guān)閉,而是在操作系統(tǒng)的后臺(tái)繼續(xù)運(yùn)行,或者在系統(tǒng)啟動(dòng)是或者其它情況下自動(dòng)啟動(dòng)并在后臺(tái)運(yùn)行,以便用戶選擇運(yùn)行該應(yīng)用程序時(shí)能夠快速將其打開,或者在后臺(tái)運(yùn)行時(shí)繼續(xù)接收網(wǎng)絡(luò)數(shù)據(jù),實(shí)時(shí)接收電子郵件、新聞、天氣信息、社交軟件和聊天軟件消息等內(nèi)容。
[0004]由此,當(dāng)設(shè)備中的CPU (Central Processing Unit,中央處理器)滿載時(shí),所有程序的運(yùn)行速度都會(huì)受到影響,甚至有可能使用戶使用的移動(dòng)通訊設(shè)備/個(gè)人計(jì)算機(jī)設(shè)備進(jìn)入卡死狀態(tài)。此時(shí),如果用戶要啟動(dòng)具有系統(tǒng)資源優(yōu)化或清理的程序來使設(shè)備恢復(fù),由于分配不到足夠的CPU使用率,這些程序也會(huì)長(zhǎng)時(shí)間內(nèi)無法啟動(dòng),導(dǎo)致用戶只能等待或者強(qiáng)制結(jié)束一些程序才能使設(shè)備恢復(fù)正常運(yùn)行的狀態(tài)。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供了一種設(shè)備優(yōu)化方法及裝置,可以解決CPU滿載時(shí)清理或優(yōu)化程序無法快速運(yùn)行的問題。
[0006]第一方面,本發(fā)明提供一種設(shè)備優(yōu)化裝置,所述設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核,所述設(shè)備優(yōu)化裝置包括:
[0007]獲取單元,用于獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的所述狀態(tài)信息包括該進(jìn)程的處理器使用率;
[0008]劃分單元,用于根據(jù)所述獲取單元獲取的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核;
[0009]指定單元,用于根據(jù)所述劃分單元的劃分結(jié)果,指定所述第一類進(jìn)程運(yùn)行在所述第一類內(nèi)核中,指定所述第二類進(jìn)程運(yùn)行在所述第二類內(nèi)核中;
[0010]其中,所述第一類進(jìn)程包括用于對(duì)當(dāng)前設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程。
[0011]可選地,所述第一類進(jìn)程包括用戶選擇的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;
[0012]和/ 或,
[0013]所述第一類進(jìn)程包括從服務(wù)器中確定的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;
[0014]和/ 或,
[0015]所述第一類進(jìn)程包括與用戶選擇的任一程序?qū)?yīng)的進(jìn)程;
[0016]和/ 或,
[0017]所述第一類進(jìn)程包括當(dāng)前設(shè)備的操作系統(tǒng)的關(guān)鍵進(jìn)程;
[0018]和/ 或,
[0019]所述第一類進(jìn)程包括從服務(wù)器中確定的與大型軟件對(duì)應(yīng)的進(jìn)程。
[0020]可選地,所述劃分單元包括:
[0021]確定模塊,用于根據(jù)所述獲取單元獲取的第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息確定所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量;
[0022]劃分模塊,用于根據(jù)所述獲取單元獲取的第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將一個(gè)或多個(gè)處理器內(nèi)核劃分至所述第二類內(nèi)核;
[0023]挑選模塊,用于按照預(yù)設(shè)規(guī)則從未經(jīng)所述劃分模塊劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核;
[0024]所述劃分模塊還用于將所述挑選模塊挑選出的處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述確定單元所確定的第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量。
[0025]可選地,所述劃分單元包括:
[0026]獲取模塊,用于根據(jù)所述獲取單元獲取的第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息在服務(wù)器中獲取對(duì)應(yīng)的內(nèi)核劃分策略;
[0027]調(diào)整模塊,用于根據(jù)所述獲取單元獲取的第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述獲取模塊獲取的內(nèi)核劃分策略;
[0028]劃分模塊,用于根據(jù)所述調(diào)整模塊調(diào)整后的內(nèi)核劃分策略將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
[0029]可選地,所述劃分單元還包括:
[0030]判斷模塊,用于在所述調(diào)整模塊調(diào)整所述內(nèi)核劃分策略之前,判斷所述第二類進(jìn)程所占用的系統(tǒng)資源總量是否滿足預(yù)設(shè)條件;
[0031]優(yōu)化模塊,用于在所述判斷模塊判定所述第二類進(jìn)程所占用的系統(tǒng)資源總量滿足預(yù)設(shè)條件時(shí),對(duì)所述第二類進(jìn)程所占用的系統(tǒng)資源進(jìn)行優(yōu)化。
[0032]第二方面,本發(fā)明提供一種設(shè)備優(yōu)化方法,所述設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核,所述設(shè)備優(yōu)化方法包括:
[0033]獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的所述狀態(tài)信息包括該進(jìn)程的處理器使用率;
[0034]根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核;
[0035]指定所述第一類進(jìn)程運(yùn)行在所述第一類內(nèi)核中,指定所述第二類進(jìn)程運(yùn)行在所述第二類內(nèi)核中;
[0036]其中,所述第一類進(jìn)程包括用于對(duì)當(dāng)前設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程。
[0037]可選地,所述第一類進(jìn)程包括用戶選擇的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;
[0038]和/ 或,
[0039]所述第一類進(jìn)程包括從服務(wù)器中確定的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;
[0040]和/ 或,
[0041]所述第一類進(jìn)程包括與用戶選擇的任一程序?qū)?yīng)的進(jìn)程;
[0042]和/ 或,
[0043]所述第一類進(jìn)程包括當(dāng)前設(shè)備的操作系統(tǒng)的關(guān)鍵進(jìn)程;
[0044]和/ 或,
[0045]所述第一類進(jìn)程包括從服務(wù)器中確定的與大型軟件對(duì)應(yīng)的進(jìn)程。
[0046]可選地,所述根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核,包括:
[0047]根據(jù)所述第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息確定所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量;
[0048]根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將一個(gè)或多個(gè)處理器內(nèi)核劃分至所述第二類內(nèi)核;
[0049]按照預(yù)設(shè)規(guī)則從剩余未劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量。
[0050]可選地,所述根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核,包括:
[0051]根據(jù)所述第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息在服務(wù)器中獲取對(duì)應(yīng)的內(nèi)核劃分策略;
[0052]根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述內(nèi)核劃分策略;
[0053]根據(jù)調(diào)整后的所述內(nèi)核劃分策略將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
[0054]可選地,在所述根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述內(nèi)核劃分策略之前,還包括:
[0055]判斷所述第二類進(jìn)程所占用的系統(tǒng)資源總量是否滿足預(yù)設(shè)條件;
[0056]若所述第二類進(jìn)程所占用的系統(tǒng)資源總量滿足預(yù)設(shè)條件,則對(duì)所述第二類進(jìn)程所占用的系統(tǒng)資源進(jìn)行優(yōu)化。
[0057]由上述技術(shù)方案可知,本發(fā)明提供的設(shè)備優(yōu)化方法及裝置,可以通過指定進(jìn)程運(yùn)行在劃分好的第一類內(nèi)核或第二類內(nèi)核中,使得即使在第二類內(nèi)核全部滿載的情況下,第一類內(nèi)核仍然可以處理對(duì)應(yīng)的第一類進(jìn)程,因而可以保障第一類進(jìn)程的可以占用的CPU資源不受其他進(jìn)程的影響。從而,本發(fā)明可以使上述清理或優(yōu)化的程序運(yùn)行在上述第一類內(nèi)核中,即使第二類內(nèi)核全部滿載這些程序也不會(huì)受CPU資源的限制而運(yùn)行緩慢。可見,本發(fā)明可以解決CPU滿載時(shí)清理或優(yōu)化程序無法快速運(yùn)行的問題。
[0058]進(jìn)一步地,本發(fā)明通過進(jìn)程和處理器內(nèi)核的劃分還提供給用戶一種保障特定進(jìn)程的可以占用的CPU資源的手段。比如,可以將與大型軟件相關(guān)的進(jìn)程指定運(yùn)行在第一類內(nèi)核中,使其可以占用的CPU資源受到保護(hù)。而且,相對(duì)于用戶自行手動(dòng)指定的方式,本發(fā)明可以實(shí)時(shí)地根據(jù)進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整第一類內(nèi)核與第二類內(nèi)核的劃分情況,使用戶不需要過一段時(shí)間就改變一次進(jìn)程與內(nèi)核之間的指定關(guān)系,可以獲得更佳的用戶體驗(yàn)。
[0059]當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
【專利附圖】
【附圖說明】
[0060]圖1為具有雙內(nèi)核處理器的設(shè)備中Windows任務(wù)管理器所顯示的當(dāng)前總的CPU使用率和兩個(gè)處理器內(nèi)核各自的CPU使用記錄曲線示意圖;
[0061]圖2為本發(fā)明一實(shí)施例提供的設(shè)備優(yōu)化方法的流程示意圖;
[0062]圖3為本發(fā)明一個(gè)實(shí)施例中劃分第一類內(nèi)核與第二類內(nèi)核的步驟流程示意圖;
[0063]圖4為本發(fā)明另一個(gè)實(shí)施例中劃分第一類內(nèi)核與第二類內(nèi)核的步驟流程示意圖;
[0064]圖5為本發(fā)明一實(shí)施例提供的設(shè)備優(yōu)化裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0065]下面結(jié)合附圖,對(duì)發(fā)明的【具體實(shí)施方式】作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。
[0066]本文所說的設(shè)備可以是個(gè)人計(jì)算機(jī)中的臺(tái)式機(jī)、筆記本電腦、平板電腦,也可以是基于任意操作系統(tǒng)的智能手機(jī)、個(gè)人數(shù)字助理、音樂播放設(shè)備、游戲設(shè)備等。
[0067]本文所說的處理器即CPU (Central Processing Unit,中央處理器),其是計(jì)算機(jī)的主要設(shè)備之一,主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。進(jìn)一步地,本文所涉及的處理器主要是多核心(兩個(gè)以上)的中央處理器,多核心中央處理器是在中央處理器芯片或封裝中包含多個(gè)處理器核心,以偶數(shù)為核心數(shù)目較為常見,一般共用二級(jí)緩存。現(xiàn)今使用雙核心和四核心以上處理器的個(gè)人計(jì)算機(jī)已相當(dāng)普遍。另也有少數(shù)三核心、六核心、八核心、十核心處理器等。
[0068]多核心處理器可以提高計(jì)算機(jī)的處理性能。原理基本上是一個(gè)集成電路插入兩個(gè)以上的個(gè)別處理器(意義上稱為核心)。在理想的情況下,雙核心處理器性能將是宏內(nèi)核處理器的兩倍。然而,在現(xiàn)實(shí)中,因不完善的軟件算法,多核心處理器性能增益遠(yuǎn)遠(yuǎn)低于理論,一般的性能增益只有50%左右。但增加核心數(shù)量的處理器,依然可增加一臺(tái)計(jì)算機(jī)可以處理的工作量。這意味著該處理器可以處理大量的不同步的指令和事件,可分擔(dān)第一核心不堪重負(fù)的工作。有時(shí),第二核心將和相鄰核心同時(shí)處理相同的任務(wù),以防止崩潰。
[0069]本實(shí)施例中提及的進(jìn)程可為具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。用戶下達(dá)運(yùn)行程序的命令后,就會(huì)產(chǎn)生進(jìn)程。同一程序可產(chǎn)生多個(gè)進(jìn)程,以允許同時(shí)有多位用戶運(yùn)行同一程序,卻不會(huì)相沖突。進(jìn)程需要一些資源才能完成工作,如CPU使用時(shí)間、存儲(chǔ)器、文件以及I/O設(shè)備,且為依序逐一進(jìn)行,也就是每個(gè)CPU核心任何時(shí)間內(nèi)僅能運(yùn)行一項(xiàng)進(jìn)程。
[0070]作為評(píng)價(jià)操作系統(tǒng)的可用系統(tǒng)資源的一項(xiàng)指標(biāo),CPU使用率主要代表了進(jìn)程占用(PU資源的程度。在當(dāng)前分時(shí)多任務(wù)操作系統(tǒng)對(duì)CPU分時(shí)間片使用情景下:比如進(jìn)程A占用10ms,然后進(jìn)程B占用30ms,然后空閑60ms;接下來進(jìn)程A繼續(xù)占用10ms,進(jìn)程B繼續(xù)占用30ms,然后空閑60ms。如果在一段時(shí)間內(nèi)這一循環(huán)在不斷重復(fù),那么這段時(shí)間內(nèi)進(jìn)程A的CPU使用率為10%、進(jìn)程B的CPU使用率為30%、系統(tǒng)總的CPU使用率為40%。在具有多核心處理器的操作系統(tǒng)中,每一處理器內(nèi)核的CPU使用率均可以按照上述方式分別計(jì)算,而系統(tǒng)總的CPU使用率就等于所有處理器內(nèi)核的CPU使用率的平均值(未經(jīng)特殊說明,下文中的“CPU使用率”均指的是“系統(tǒng)總的CPU使用率”)。例如圖1所示出的具有雙內(nèi)核處理器的設(shè)備中Windows任務(wù)管理器所顯示的當(dāng)前總的CPU使用率和兩個(gè)處理器內(nèi)核各自的CPU使用記錄曲線示意圖。
[0071]由此,當(dāng)設(shè)備中的CPU滿載(總的CPU使用率達(dá)到100% )時(shí),所有程序的運(yùn)行速度都會(huì)受到影響,甚至有可能使用戶使用的移動(dòng)通訊設(shè)備/個(gè)人計(jì)算機(jī)設(shè)備進(jìn)入卡死狀態(tài)。此時(shí),如果用戶要啟動(dòng)具有系統(tǒng)資源優(yōu)化或清理的程序來使設(shè)備恢復(fù),由于分配不到足夠的可用CPU資源,這些程序也會(huì)長(zhǎng)時(shí)間內(nèi)無法啟動(dòng),導(dǎo)致用戶只能等待或者強(qiáng)制結(jié)束一些程序才能使設(shè)備恢復(fù)正常運(yùn)行的狀態(tài)。
[0072]針對(duì)這一問題,本發(fā)明實(shí)施例提供了一種設(shè)備優(yōu)化方法。圖1示出了本發(fā)明一實(shí)施例提供的設(shè)備優(yōu)化方法的流程示意圖,如圖1所示,本實(shí)施例的設(shè)備優(yōu)化方法包括如下步驟:
[0073]步驟101:獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的所述狀態(tài)信息包括該進(jìn)程的處理器使用率(即上述CPU使用率)。
[0074]其中,所述第一類進(jìn)程包括用于對(duì)當(dāng)前設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程。對(duì)應(yīng)地,上述第二類進(jìn)程可以是除所述第一類進(jìn)程之外的所有進(jìn)程,也可以是預(yù)先確定的有可能影響第一類進(jìn)程運(yùn)行的進(jìn)程的集合,本發(fā)明對(duì)此不做限定。
[0075]上述優(yōu)化或清理的對(duì)象是當(dāng)前設(shè)備的操作系統(tǒng),目標(biāo)可以包括下述的一項(xiàng)或多項(xiàng):盡可能減少計(jì)算機(jī)執(zhí)行少的進(jìn)程,更改工作模式,刪除不必要的中斷讓機(jī)器運(yùn)行更有效,優(yōu)化文件位置使數(shù)據(jù)讀寫更快,空出更多的系統(tǒng)資源供用戶支配,以及減少不必要的系統(tǒng)加載項(xiàng)及自啟動(dòng)項(xiàng)。上述優(yōu)化或清理具體所涉及的操作可以是關(guān)閉停止響應(yīng)程序、清除內(nèi)存中不被使用的數(shù)據(jù)、刪除用不到的臨時(shí)文件等等;上述進(jìn)程的標(biāo)識(shí)可以是進(jìn)程名稱或者進(jìn)程標(biāo)識(shí)符PID(Process Identificat1n);上述進(jìn)程的狀態(tài)信息可以包括占用系統(tǒng)資源狀態(tài)信息(包括CPU使用率)、運(yùn)行狀態(tài)信息等等;其均是本領(lǐng)域技術(shù)人員所熟知的,在此不再贅述。
[0076]步驟102:根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
[0077]步驟103:指定所述第一類進(jìn)程運(yùn)行在所述第一類內(nèi)核中,指定所述第二類進(jìn)程運(yùn)行在所述第二類內(nèi)核中。
[0078]可見,經(jīng)過步驟處理之后,當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程被指定運(yùn)行在第一類內(nèi)核中,第二類進(jìn)程被指定在第二類內(nèi)核中。
[0079]其中,劃分所涉及的主要對(duì)象包括第一類內(nèi)核與第二類內(nèi)核的數(shù)量、第一類內(nèi)核與第二類內(nèi)核分別包括的處理器內(nèi)核的序號(hào)等。當(dāng)然,在劃分時(shí)需要用到當(dāng)前設(shè)備的操作系統(tǒng)的一些信息,例如處理器內(nèi)核數(shù)量和使用狀態(tài)等等,這些信息既可以直接通過查詢系統(tǒng)狀態(tài)來獲得,也可以由進(jìn)程的狀態(tài)?目息來推知。
[0080]可見,上述方法可以通過指定進(jìn)程運(yùn)行在劃分好的第一類內(nèi)核或第二類內(nèi)核中,使得即使在第二類內(nèi)核全部滿載的情況下,第一類內(nèi)核仍然可以處理對(duì)應(yīng)的第一類進(jìn)程,因而可以保障第一類進(jìn)程的可以占用的CPU資源不受其他進(jìn)程的影響。從而,上述方法可以使上述清理或優(yōu)化的程序運(yùn)行在上述第一類內(nèi)核中,即使第二類內(nèi)核全部滿載這些程序也不會(huì)受CPU資源的限制而運(yùn)行緩慢。所以,上述方法可以解決CPU滿載時(shí)清理或優(yōu)化程序無法快速運(yùn)行的問題。
[0081]進(jìn)一步地,上述方法通過進(jìn)程和處理器內(nèi)核的劃分還提供給用戶一種保障特定進(jìn)程的可以占用的CPU資源的手段。比如,可以將與大型軟件相關(guān)的進(jìn)程指定運(yùn)行在第一類內(nèi)核中,使其可以占用的CPU資源受到保護(hù)。而且,相對(duì)于用戶自行手動(dòng)指定的方式,上述方法可以實(shí)時(shí)地根據(jù)進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整第一類內(nèi)核與第二類內(nèi)核的劃分情況,使用戶不需要過一段時(shí)間就改變一次進(jìn)程與內(nèi)核之間的指定關(guān)系,可以獲得更佳的用戶體驗(yàn)。
[0082]另一方面,上述第一類進(jìn)程可以具體包括下述的一類或多類進(jìn)程:用戶選擇的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;從服務(wù)器中確定的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;與用戶選擇的任一程序?qū)?yīng)的進(jìn)程;當(dāng)前設(shè)備的操作系統(tǒng)的關(guān)鍵進(jìn)程;從服務(wù)器中確定的與大型軟件對(duì)應(yīng)的進(jìn)程??梢?,上述用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程等需要保護(hù)可占用的CPU資源的進(jìn)程可以由用戶自行確定,也可以由云服務(wù)器根據(jù)收集到的信息自動(dòng)確定(例如根據(jù)CPU使用率的平均值確定與大型軟件對(duì)應(yīng)的一些進(jìn)程,或者維持操作系統(tǒng)正常運(yùn)行的一些關(guān)鍵進(jìn)程),當(dāng)然結(jié)合兩者一一向用戶提供云服務(wù)器推薦的進(jìn)程或程序列表來讓用戶進(jìn)行篩選,可以達(dá)到較佳的用戶體驗(yàn)。
[0083]需要說明的是,上述步驟101與步驟102的執(zhí)行順序可以不分先后,但步驟103需要在步驟101與步驟102均執(zhí)行完畢之后才可以執(zhí)行。
[0084]更加具體地,在本發(fā)明的一個(gè)實(shí)施例中,上述步驟102:根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核可以具體包括如圖3所示的步驟:
[0085]步驟301:根據(jù)所述第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息確定所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量;
[0086]步驟302:根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將一個(gè)或多個(gè)處理器內(nèi)核劃分至所述第二類內(nèi)核;
[0087]步驟303:按照預(yù)設(shè)規(guī)則從剩余未劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量。
[0088]上述步驟301中,第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量主要依據(jù)所有第一類進(jìn)程所需要的可用CPU資源總量。具體地,若在四核處理器的設(shè)備中,正在運(yùn)行的第一類進(jìn)程中包括進(jìn)程A、進(jìn)程B和進(jìn)程C,其CPU使用率分別為11%、20%和5%,假設(shè)四核處理器中每一內(nèi)核所能提供的最大CPU使用率均為四分之一(25% ),從而由于進(jìn)程A、進(jìn)程B、進(jìn)程C的CPU使用率之和為36 %,大于25 %,因而確定當(dāng)前第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量為“ 2 ”,從而使得第一類內(nèi)核足以保障第一類進(jìn)程的運(yùn)行速度,又不會(huì)占用過多的可用CPU資源。當(dāng)然,若存在特殊情況,例如根據(jù)進(jìn)程B的標(biāo)識(shí)和狀態(tài)信息獲知進(jìn)程B為即將進(jìn)入終止?fàn)顟B(tài)進(jìn)程,那么在確定第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量時(shí)就可以不考慮進(jìn)程B的CPU使用率,而使上例中的目標(biāo)內(nèi)核數(shù)量為“I”(因?yàn)檫M(jìn)程A與進(jìn)程C的CPU使用率之和為16%,小于25% )。當(dāng)然,為了使第二類進(jìn)程也可以正常運(yùn)行,目標(biāo)內(nèi)核數(shù)量應(yīng)小于處理器內(nèi)核的內(nèi)核總數(shù)。
[0089]上述步驟302中,主要按照序號(hào)將處理器內(nèi)核劃分至第二類內(nèi)核,這一處理的主要目的是為了避免過大的進(jìn)程與內(nèi)核間的指定關(guān)系變動(dòng)。比如,四核處理器的設(shè)備中,根據(jù)第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息得知第二類進(jìn)程分別占用CPU序號(hào)為CPU-0、CPU-U CPU-2、CPU-3的四個(gè)內(nèi)核的CPU使用率的0%、4%、12%和85%,那么就可以將占用單個(gè)CPU使用率超過75%的CPU-3劃分至第二類內(nèi)核中,使得在后續(xù)步驟中即使指定所有第二類進(jìn)程全部運(yùn)行在CPU序號(hào)為CPU-3的內(nèi)核中時(shí),原本就在CPU序號(hào)為CPU-3的內(nèi)核中運(yùn)行的第二類進(jìn)程也不會(huì)受到影響。另外,如果存在第二類進(jìn)程中的某一進(jìn)程必須運(yùn)行在一特定內(nèi)核中的情況時(shí),則也需要將這一特定內(nèi)核劃分至第二類內(nèi)核中。當(dāng)然,如果第一類進(jìn)程中的某一進(jìn)程與第二類進(jìn)程中的某一進(jìn)程都必須運(yùn)行在同一內(nèi)核中時(shí),則需要調(diào)整進(jìn)程歸屬關(guān)系,使得兩個(gè)進(jìn)程不分別屬于第一類進(jìn)程和第二類進(jìn)程中的一個(gè)。另外,在步驟302中劃分至第二類內(nèi)核的數(shù)目需要小于處理器內(nèi)核的內(nèi)核總數(shù)與上述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量的差值。
[0090]在上述步驟301與步驟302的基礎(chǔ)之上,可以按照預(yù)設(shè)規(guī)則從剩余未劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量,就完成了劃分過程。比如,由于對(duì)于一般設(shè)備而言序號(hào)最靠前的內(nèi)核是處理能力最強(qiáng)的內(nèi)核,所以上述預(yù)設(shè)規(guī)則可以包括:如果序號(hào)最靠前的內(nèi)核沒有被劃分至第二類內(nèi)核,則最先將該內(nèi)核劃分至所述第一類內(nèi)核。類似于這樣的處理方式,即可逐一地將內(nèi)核劃分至第一類內(nèi)核直到第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到上述目標(biāo)內(nèi)核數(shù)量。
[0091]可見,本發(fā)明實(shí)施例中,上述步驟102的具體流程可以通過設(shè)備自身的處理而實(shí)現(xiàn),其中所涉及的諸如預(yù)設(shè)規(guī)則的預(yù)設(shè)信息均是本領(lǐng)域技術(shù)人員根據(jù)本實(shí)施例的技術(shù)方案容易得到的,在此不再詳述。
[0092]另一方面在本發(fā)明的另一實(shí)施例中,上述步驟102:根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核可以具體包括如圖4所示的步驟:
[0093]步驟401:根據(jù)所述第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息在服務(wù)器中獲取對(duì)應(yīng)的內(nèi)核劃分策略;
[0094]步驟402:根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述內(nèi)核劃分策略;
[0095]步驟403:根據(jù)調(diào)整后的所述內(nèi)核劃分策略將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
[0096]可見,與上例中設(shè)備自身處理的方式不同,本發(fā)明實(shí)施例主要通過在服務(wù)器中獲取的內(nèi)核劃分策略來完成第一類內(nèi)核與第二類內(nèi)核的劃分。具體來說,上述步驟401主要根據(jù)第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息(當(dāng)然也可以包括進(jìn)程運(yùn)行環(huán)境的相關(guān)信息)來使服務(wù)器匹配合適的內(nèi)核劃分策略。其中,服務(wù)器可以是搜集大量用戶的內(nèi)核劃分狀態(tài)與用戶反饋信息的云服務(wù)器(通過大量數(shù)據(jù)訓(xùn)練篩選器,從而匹配合適內(nèi)核劃分策略),也可以是具有強(qiáng)大計(jì)算能力的云計(jì)算服務(wù)器(代替用戶進(jìn)行內(nèi)核劃分的計(jì)算,得到合適的內(nèi)核劃分策略
[0097]在得到內(nèi)核劃分策略之后,上述步驟402可以根據(jù)第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息對(duì)內(nèi)核劃分策略進(jìn)行調(diào)整,其具體內(nèi)容類似于上例中的步驟302和步驟303,在此不再贅述。最后,根據(jù)調(diào)整后的內(nèi)核劃分策略,就可以直接進(jìn)行上述第一類內(nèi)核與第二類內(nèi)核的劃分了。
[0098]可以看出,本發(fā)明實(shí)施例相比上例可以極大地減輕設(shè)備的負(fù)擔(dān),同時(shí)基于服務(wù)器強(qiáng)大的數(shù)據(jù)搜集能力和計(jì)算能力可以達(dá)到更佳的效果,但是本發(fā)明實(shí)施例必須基于服務(wù)器與終端的基礎(chǔ)網(wǎng)絡(luò)架構(gòu)。然而在實(shí)際操作中,上述步驟102的具體實(shí)現(xiàn)方式可以是本發(fā)明實(shí)施例與上例的相互切換或者相互結(jié)合,其顯然不脫離本發(fā)明技術(shù)方案的精神和范圍。
[0099]基于同樣的發(fā)明構(gòu)思,本發(fā)明提供了一種可以實(shí)現(xiàn)上述設(shè)備優(yōu)化方法的設(shè)備優(yōu)化裝置,參見圖5為所示的本發(fā)明一實(shí)施例提供的設(shè)備優(yōu)化裝置的結(jié)構(gòu)示意圖,在所述設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核的基礎(chǔ)上,該優(yōu)化裝置包括:
[0100]獲取單元51,用于獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的所述狀態(tài)信息包括該進(jìn)程的處理器使用率;
[0101]劃分單元52,用于根據(jù)所述獲取單元51獲取的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核;
[0102]指定單元53,用于根據(jù)所述劃分單元52的劃分結(jié)果,指定所述第一類進(jìn)程運(yùn)行在所述第一類內(nèi)核中,指定所述第二類進(jìn)程運(yùn)行在所述第二類內(nèi)核中;
[0103]其中,所述第一類進(jìn)程包括用于對(duì)當(dāng)前設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程。
[0104]本實(shí)施例的設(shè)備優(yōu)化裝置可執(zhí)行前述的圖2所示的方法實(shí)施例中的流程,本實(shí)施例不在此進(jìn)行詳述。
[0105]在上述技術(shù)方案的基礎(chǔ)上:
[0106]所述第一類進(jìn)程還可以包括用戶選擇的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;
[0107]和/ 或,
[0108]所述第一類進(jìn)程還可以包括從服務(wù)器中確定的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程;
[0109]和/ 或,
[0110]所述第一類進(jìn)程還可以包括與用戶選擇的任一程序?qū)?yīng)的進(jìn)程;
[0111]和/ 或,
[0112]所述第一類進(jìn)程還可以包括當(dāng)前設(shè)備的操作系統(tǒng)的關(guān)鍵進(jìn)程;
[0113]和/ 或,
[0114]所述第一類進(jìn)程還可以包括從服務(wù)器中確定的與大型軟件對(duì)應(yīng)的進(jìn)程。
[0115]可見,上述用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程等需要保護(hù)可占用的CPU資源的進(jìn)程可以由用戶自行確定,也可以由云服務(wù)器根據(jù)收集到的信息自動(dòng)確定(例如根據(jù)CPU使用率的平均值確定與大型軟件對(duì)應(yīng)的一些進(jìn)程,或者維持操作系統(tǒng)正常運(yùn)行的一些關(guān)鍵進(jìn)程),當(dāng)然結(jié)合兩者一一向用戶提供云服務(wù)器推薦的進(jìn)程或程序列表來讓用戶進(jìn)行篩選,可以達(dá)到較佳的用戶體驗(yàn)。
[0116]進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,劃分單元52可以包括圖5中未示出的下述結(jié)構(gòu):
[0117]確定模塊52a,用于根據(jù)所述獲取單元51獲取的第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息確定所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量;
[0118]劃分模塊52b,用于根據(jù)所述獲取單元51獲取的第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將一個(gè)或多個(gè)處理器內(nèi)核劃分至所述第二類內(nèi)核;
[0119]挑選模塊52c,用于按照預(yù)設(shè)規(guī)則從未經(jīng)所述劃分模塊52b劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核;
[0120]所述劃分模塊52b還用于將所述挑選模塊52c挑選出的處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述確定單元所確定的第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量。
[0121]本實(shí)施例的設(shè)備優(yōu)化裝置可執(zhí)行前述的圖3所示的方法實(shí)施例中的流程,本實(shí)施例不在此進(jìn)行詳述。
[0122]另一方面,在本發(fā)明的另一實(shí)施例中,劃分單元52可以包括圖5中未示出的下述結(jié)構(gòu):
[0123]獲取模塊521,用于根據(jù)所述獲取單元51獲取的第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息在服務(wù)器中獲取對(duì)應(yīng)的內(nèi)核劃分策略;
[0124]調(diào)整模塊522,用于根據(jù)所述獲取單元51獲取的第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述獲取模塊521獲取的內(nèi)核劃分策略;
[0125]劃分模塊523,用于根據(jù)所述調(diào)整模塊522調(diào)整后的內(nèi)核劃分策略將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
[0126]可選地,所述劃分單元52還包括:
[0127]判斷模塊524,用于在所述調(diào)整模塊522調(diào)整所述內(nèi)核劃分策略之前,判斷所述第二類進(jìn)程所占用的系統(tǒng)資源總量是否滿足預(yù)設(shè)條件;
[0128]優(yōu)化模塊525,用于在所述判斷模塊524判定所述第二類進(jìn)程所占用的系統(tǒng)資源總量滿足預(yù)設(shè)條件時(shí),對(duì)所述第二類進(jìn)程所占用的系統(tǒng)資源進(jìn)行優(yōu)化。
[0129]本實(shí)施例的設(shè)備優(yōu)化裝置可執(zhí)行前述的圖4所示的方法實(shí)施例中的流程,本實(shí)施例不在此進(jìn)行詳述。
[0130]可見,上述裝置可以通過指定進(jìn)程運(yùn)行在劃分好的第一類內(nèi)核或第二類內(nèi)核中,使得即使在第二類內(nèi)核全部滿載的情況下,第一類內(nèi)核仍然可以處理對(duì)應(yīng)的第一類進(jìn)程,因而可以保障第一類進(jìn)程的可以占用的CPU資源不受其他進(jìn)程的影響。從而,上述裝置可以使上述清理或優(yōu)化的程序運(yùn)行在上述第一類內(nèi)核中,即使第二類內(nèi)核全部滿載這些程序也不會(huì)受CPU資源的限制而運(yùn)行緩慢。所以,上述裝置可以解決CPU滿載時(shí)清理或優(yōu)化程序無法快速運(yùn)行的問題。
[0131]進(jìn)一步地,上述裝置通過進(jìn)程和處理器內(nèi)核的劃分還提供給用戶一種保障特定進(jìn)程的可以占用的CPU資源的手段。比如,可以將與大型軟件相關(guān)的進(jìn)程指定運(yùn)行在第一類內(nèi)核中,使其可以占用的CPU資源受到保護(hù)。而且,相對(duì)于用戶自行手動(dòng)指定的方式,上述裝置可以實(shí)時(shí)地根據(jù)進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整第一類內(nèi)核與第二類內(nèi)核的劃分情況,使用戶不需要過一段時(shí)間就改變一次進(jìn)程與內(nèi)核之間的指定關(guān)系,可以獲得更佳的用戶體驗(yàn)。
[0132]本發(fā)明的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
[0133]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本發(fā)明公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋呈反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0134]本領(lǐng)域技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在于該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是互相排斥之處,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0135]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0136]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的一種瀏覽器終端的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0137]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0138]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當(dāng)中。
【權(quán)利要求】
1.一種設(shè)備優(yōu)化裝置,其特征在于,所述設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核,所述設(shè)備優(yōu)化裝置包括: 獲取單元,用于獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的所述狀態(tài)信息包括該進(jìn)程的處理器使用率; 劃分單元,用于根據(jù)所述獲取單元獲取的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核; 指定單元,用于根據(jù)所述劃分單元的劃分結(jié)果,指定所述第一類進(jìn)程運(yùn)行在所述第一類內(nèi)核中,指定所述第二類進(jìn)程運(yùn)行在所述第二類內(nèi)核中; 其中,所述第一類進(jìn)程包括用于對(duì)當(dāng)前設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述第一類進(jìn)程包括用戶選擇的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程; 和/或, 所述第一類進(jìn)程包括從服務(wù)器中確定的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程; 和/或, 所述第一類進(jìn)程包括與用戶選擇的任一程序?qū)?yīng)的進(jìn)程; 和/或, 所述第一類進(jìn)程包括當(dāng)前設(shè)備的操作系統(tǒng)的關(guān)鍵進(jìn)程; 和/或, 所述第一類進(jìn)程包括從服務(wù)器中確定的與大型軟件對(duì)應(yīng)的進(jìn)程。
3.根據(jù)權(quán)利要求1或2所述的裝置,其特征在于,所述劃分單元包括: 確定模塊,用于根據(jù)所述獲取單元獲取的第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息確定所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量; 劃分模塊,用于根據(jù)所述獲取單元獲取的第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將一個(gè)或多個(gè)處理器內(nèi)核劃分至所述第二類內(nèi)核; 挑選模塊,用于按照預(yù)設(shè)規(guī)則從未經(jīng)所述劃分模塊劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核; 所述劃分模塊還用于將所述挑選模塊挑選出的處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述確定單元所確定的第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量。
4.根據(jù)權(quán)利要求1或2所述的裝置,其特征在于,所述劃分單元包括: 獲取模塊,用于根據(jù)所述獲取單元獲取的第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息在服務(wù)器中獲取對(duì)應(yīng)的內(nèi)核劃分策略; 調(diào)整模塊,用于根據(jù)所述獲取單元獲取的第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述獲取模塊獲取的內(nèi)核劃分策略; 劃分模塊,用于根據(jù)所述調(diào)整模塊調(diào)整后的內(nèi)核劃分策略將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述劃分單元還包括: 判斷模塊,用于在所述調(diào)整模塊調(diào)整所述內(nèi)核劃分策略之前,判斷所述第二類進(jìn)程所占用的系統(tǒng)資源總量是否滿足預(yù)設(shè)條件; 優(yōu)化模塊,用于在所述判斷模塊判定所述第二類進(jìn)程所占用的系統(tǒng)資源總量滿足預(yù)設(shè)條件時(shí),對(duì)所述第二類進(jìn)程所占用的系統(tǒng)資源進(jìn)行優(yōu)化。
6.—種設(shè)備優(yōu)化方法,所述設(shè)備的處理器中集成有兩個(gè)以上的處理器內(nèi)核,其特征在于,包括: 獲取當(dāng)前設(shè)備中運(yùn)行的第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息,任一進(jìn)程的所述狀態(tài)信息包括該進(jìn)程的處理器使用率; 根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核; 指定所述第一類進(jìn)程運(yùn)行在所述第一類內(nèi)核中,指定所述第二類進(jìn)程運(yùn)行在所述第二類內(nèi)核中; 其中,所述第一類進(jìn)程包括用于對(duì)當(dāng)前設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一類進(jìn)程包括用戶選擇的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程; 和/或, 所述第一類進(jìn)程包括從服務(wù)器中確定的用于對(duì)設(shè)備進(jìn)行清理或優(yōu)化的進(jìn)程; 和/或, 所述第一類進(jìn)程包括與用戶選擇的任一程序?qū)?yīng)的進(jìn)程; 和/或, 所述第一類進(jìn)程包括當(dāng)前設(shè)備的操作系統(tǒng)的關(guān)鍵進(jìn)程; 和/或, 所述第一類進(jìn)程包括從服務(wù)器中確定的與大型軟件對(duì)應(yīng)的進(jìn)程。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核,包括: 根據(jù)所述第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息確定所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量; 根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將一個(gè)或多個(gè)處理器內(nèi)核劃分至所述第二類內(nèi)核; 按照預(yù)設(shè)規(guī)則從剩余未劃分的處理器內(nèi)核中挑選出一個(gè)處理器內(nèi)核劃分至所述第一類內(nèi)核,直至所述第一類內(nèi)核中的內(nèi)核數(shù)量達(dá)到所述第一類內(nèi)核的目標(biāo)內(nèi)核數(shù)量。
9.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述根據(jù)所述第一類進(jìn)程和第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核,包括: 根據(jù)所述第一類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息在服務(wù)器中獲取對(duì)應(yīng)的內(nèi)核劃分策略; 根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述內(nèi)核劃分策略; 根據(jù)調(diào)整后的所述內(nèi)核劃分策略將所述兩個(gè)以上的處理器內(nèi)核劃分為第一類內(nèi)核與第二類內(nèi)核。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述根據(jù)所述第二類進(jìn)程的標(biāo)識(shí)和狀態(tài)信息調(diào)整所述內(nèi)核劃分策略之前,還包括: 判斷所述第二類進(jìn)程所占用的系統(tǒng)資源總量是否滿足預(yù)設(shè)條件; 若所述第二類進(jìn)程所占用的系統(tǒng)資源總量滿足預(yù)設(shè)條件,則對(duì)所述第二類進(jìn)程所占用 的系統(tǒng)資源進(jìn)行優(yōu)化。
【文檔編號(hào)】G06F9/48GK104503831SQ201410806641
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
【發(fā)明者】楊繼鑫, 李良, 潘全新 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司