一種處理器資源的分配方法及移動終端的制作方法
【專利摘要】本發明實施例公開了一種處理器資源的分配方法及移動終端,包括:獲取系統中并行運行的n個任務,n為整數;將所述n個任務按照負載量分類為m個負載等級的任務集,m為整數;根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量;為所述任務集分配所述處理器資源的需求量。本發明實施例有利于合理使用處理器資源,提升處理器運行多個任務的處理效率。
【專利說明】
一種處理器資源的分配方法及移動終端
技術領域
[0001]本發明涉及移動終端技術領域,具體涉及一種處理器資源的分配方法及移動終端。
【背景技術】
[0002]隨著移動終端中加載的應用程序日益增多,移動終端中可同時處理多個應用程序,由于移動終端中的處理器資源有限,需要對處理器資源進行合理分配,才能夠保證多個應用程序的正常運行。目前,移動終端中可配置有集成多核的處理器。由于應用程序運行的每個任務的負載量不同,因此,移動終端的操作系統需要同時為多個應用程序運行的多個任務合理分配處理器資源。
[0003]目前,操作系統僅能夠針對當前承載的所有負載量進行評估,并以此調節處理器的性能,或者,操作系統僅能夠根據當前運行的任務數量確定處理器的數量,并不能夠有效合理的分配處理器資源,浪費了處理器資源。
【發明內容】
[0004]本發明實施例提供了一種處理器資源的分配方法及移動終端,以期合理使用處理器資源,提升處理器運行多個任務的處理效率。
[0005]第一方面,本發明實施例提供一種處理器資源的分配方法,包括:
[0006]獲取系統中并行運行的η個任務,η為整數;
[0007]將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數;
[0008]根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量;
[0009]為所述任務集分配所述處理器資源的需求量。
[0010]結合第一方面,在一些可能的實現方式中,所述根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量,包括:
[0011]計算出所述任務集對處理器資源的需求量為所述任務集中的任務數量與所述任務集的負載等級對應的負載系數的乘積結果。
[0012]結合第一方面,在一些可能的實現方式中,所述為所述任務集分配所述處理器資源的需求量,包括:
[0013]基于處理器的運算能力,為所述任務集確定對應運算等級的處理器資源;
[0014]判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量;
[0015]若判斷出滿足,則為所述任務集分配所述對應運算等級的處理器資源。
[0016]結合第一方面,在一些可能的實現方式中,所述判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量之后,所述方法還包括:
[0017]若判斷出不滿足,則確定所述任務集對所述對應運算等級的處理器資源的第一額外需求量;
[0018]根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量;
[0019]判斷所述其他運算等級的處理器資源是否能夠滿足所述第二額外需求量;
[0020]若判斷出滿足,則根據所述第二額外需求量,為所述任務集分配所述其他運算等級的處理器資源。
[0021 ]結合第一方面,在一些可能的實現方式中,所述根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量,包括:
[0022]計算出所述對應運算等級所對應的第一運算系數與所述其他運算等級所對應的第二運算系數的比值;
[0023]計算出所述第二額外需求量為所述比值結果與所述第一額外需求量的乘積。
[0024]此外,結合第一方面,在一些可能的實現方式中,所述方法還包括:
[0025]根據所述對應運算等級的處理器資源中的任務負載量,調節所述處理器資源的性能指標,所述性能指標包括時鐘頻率、低功耗狀態。
[0026]第二方面,本發明實施例提供了一種移動終端,所述移動終端包括功能模單元,所述功能單元用于執行本發明實施例第一方面任一方法中所描述的部分或全部步驟。
[0027]第三方面,本發明實施例提供了一種移動終端,包括:
[0028]處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線連接并完成相互間的通信;
[0029]所述存儲器存儲有可執行程序代碼,所述通信接口用于無線通信;
[0030]所述處理器用于調用所述存儲器中的所述可執行程序代碼,執行本發明實施例第一方面任一方法中所描述的部分或全部步驟。
【附圖說明】
[0031]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0032]圖1是本發明實施例公開的一種處理器資源的分配的流程示意圖;
[0033]圖2是本發明實施例公開的另一種處理器資源的分配的流程示意圖;
[0034]圖3是本發明實施例公開的一種移動終端的單元組成框圖;
[0035]圖4是本發明實施例公開的一種移動終端的結構示意圖;
[0036]圖5是本發明實施例公開的另一種移動終端的結構示意圖。
【具體實施方式】
[0037]為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0038]本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別不同對象,而不是用于描述特定順序。此外,術語“包括”和“具有”以及它們任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統、產品或設備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產品或設備固有的其他步驟或單元。
[0039]在本文中提及“實施例”意味著,結合實施例描述的特定特征、結構或特性可以包含在本發明的至少一個實施例中。在說明書中的各個位置出現該短語并不一定均是指相同的實施例,也不是與其它實施例互斥的獨立的或備選的實施例。本領域技術人員顯式地和隱式地理解的是,本文所描述的實施例可以與其它實施例相結合。
[0040]下面對本發明的方法實施例進行詳細描述。
[0041]請參見圖1,圖1是本發明實施例公開的一種處理器資源的分配方法的流程示意圖。該處理器資源的分配方法可由移動終端實現。如圖1所示,該方法至少包括以下步驟。
[0042]步驟SlOl,獲取系統中并行運行的η個任務,η為整數。
[0043]在一個實施例中,移動終端獲取系統中并行運行的η個任務。具體的,移動終端可實時獲取系統中正在并行運行的η個任務,也可在一定周期內進行統計該周期內并行運行的η個任務,本發明實施例不做限定。其中,系統中并行運行的η個任務可代表應用程序中的η個進程或線程,當然也可代表處理器能夠處理的其他任務等。其中,η個任務可包含不同的負載量,并且η個任務可來自同一個應用程序,也可來自不同的應用程序。
[0044]步驟S102,將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數。
[0045]在一個實施例中,基于η個任務所包含的不同的負載量,可將該η個任務按照負載量分類為m個負載等級的任務集。具體的,可預設負載量范圍與負載等級的映射關系表,其中,每個負載量范圍對應一個負載等級。將η個任務按照自身所攜帶的負載量進行分類,當任務中的負載量落入一個負載量范圍時,則能夠確定該任務所對應的負載等級,該負載等級與上述負載量范圍對應。當根據上述方式確定η個任務的負載等級后,可將相同負載等級的任務進行統計,形成該負載等級下的任務集。所形成的m個負載等級的任務集中任務的數量總和為η。從而,通過上述方式可確定系統同時需要處理的任務,并且不同的負載等級下的任務數量,從而,可基于負載等級為不同的任務分配不同的處理器資源。
[0046]步驟S103,根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量。
[0047]在一個實施例中,當確定出m個負載等級的任務集后,可根據任務集中的任務數量以及該負載等級所對應的負載系數,確定該任務集對處理器資源的需求量。具體的,每個負載等級還可對應響應的負載系數,以通過該負載系數及具體的任務數量,計算任務集對處理器資源的需求量。本發明實施例所描述的處理器資源可為CPU(Central ProcessingUnit,中央處理器),也可為GPU(Graphics Processing Unit,圖像處理器),其可包括處理器中集成的核心處理單元,其中,核心處理單元基于運算能力的不同,可運算的負載量也不同,運算能力越強,可運算的負載量相應也就也大。其中,處理器資源可包括多個處理器,并且每個處理器中可集成多個核心處理單元,這些核心處理單元的運算能力可相同,也可不同。
[0048]以負載等級分為3個等級為例,負載等級可分為高負載等級、中負載等級及低負載等級。其中,高負載等級中的任務所需要的處理器資源相對較大,如需要獨立的核心處理單元進行處理,中負載等級中的任務可以允許一到兩個任務共享一個獨立的核心處理單元,低負載等級中的任務可以允許多個任務共享一個獨立的核心處理單元。上述對應的核心處理單元的運算能力可相同,或者,高負載等級的核心處理單元的運算能力高,即運算等級高;響應的,中或低負載等級的任務對應的核心處理單元的運算等級對應為中或低。
[0049]舉例說明,高負載等級對應的負載系數可為I,表明每個任務需要單獨的核心處理單元進行處理;中負載等級對應的負載系數可為0.6;低負載等級對應的負載系數可為0.2。從而,根據不同負載等級對應的負載系數,以及該負載等級的任務集中的任務數量,可確定該任務集所需要的處理器資源。如確定高負載等級的任務集需要的處理器資源為I*高負載等級任務數。當然,還可通過其他系數來進一步確定所需要的處理器資源,如結合不同任務的不同負載量等,為不同的任務確定不同的權重值,計算該任務集的整體權重值后,再結合負載系數及任務數確定該任務集對處理器資源的需求量等。本發明實施例不做限定。
[0050]步驟S104,為所述任務集分配所述處理器資源的需求量。
[0051]在一個實施例中,當計算出不同的負載等級的任務集所需要的處理器資源的需求量后,可為不同負載等級的任務集分配其所對應的處理器資源的需求量。具體的,可優先為負載等級高的任務進行分配,優先為其分配運算能力強的核心處理單元,若運算能力強的核心處理單元的可用余量不足以滿足負載等級高對處理器資源的需求量,則可進一步為其分配運算能量中的核心處理單元,通過上述方式直至分配完成。
[0052]本發明實施例中,通過獲取系統中并行運行的η個任務,能夠將該η個任務按照負載量分類為m個負載等級的任務集;還可根據任務集中的任務數量以及該任務集的負載等級所對應的負載系數,計算出該任務集對處理器資源的需求量,并可基于計算的需求量為該任務集分配處理器資源。通過上述方式,能夠細化區分同時并行的任務,并可根據負載等級為不同的任務分配不同級別的處理器進行處理,有效的利用的處理器資源,提高了對多個并行運行任務的處理效率。
[0053]請參閱圖2,圖2是本發明實施例公開的另一種處理器資源的分配方法的流程示意圖。該處理器資源的分配方法可由移動終端實現。如圖1所示,該方法至少包括以下步驟。
[0054]步驟S201,獲取系統中并行運行的η個任務,η為整數。
[0055]在一個實施例中,移動終端獲取系統中并行運行的η個任務。具體的,移動終端可實時獲取系統中正在并行運行的η個任務,也可在一定周期內進行統計該周期內并行運行的η個任務,本發明實施例不做限定。其中,系統中并行運行的η個任務可代表應用程序中的η個進程或線程,當然也可代表處理器能夠處理的其他任務等。其中,η個任務可包含不同的負載量,并且η個任務可來自同一個應用程序,也可來自不同的應用程序。
[0056]步驟S202,將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數。
[0057]在一個實施例中,基于η個任務所包含的不同的負載量,可將該η個任務按照負載量分類為m個負載等級的任務集。具體的,可預設負載量范圍與負載等級的映射關系表,其中,每個負載量范圍對應一個負載等級。將η個任務按照自身所攜帶的負載量進行分類,當任務中的負載量落入一個負載量范圍時,則能夠確定該任務所對應的負載等級,該負載等級與上述負載量范圍對應。當根據上述方式確定η個任務的負載等級后,可將相同負載等級的任務進行統計,形成該負載等級下的任務集。所形成的m個負載等級的任務集中任務的數量總和為η。從而,通過上述方式可確定系統同時需要處理的任務,并且不同的負載等級下的任務數量,從而,可基于負載等級為不同的任務分配不同的處理器資源。
[0058]步驟S203,計算出所述任務集對處理器資源的需求量為所述任務集中的任務數量與所述任務集的負載等級對應的負載系數的乘積結果。
[0059]在一個實施例中,當確定出m個負載等級的任務集后,可根據任務集中的任務數量以及該負載等級所對應的負載系數,確定該任務集對處理器資源的需求量。具體的,每個負載等級還可對應響應的負載系數,以通過該負載系數及具體的任務數量,計算任務集對處理器資源的需求量。本發明實施例所描述的處理器資源可為CPU(Central ProcessingUnit,中央處理器),也可為GPU(Graphics Processing Unit,圖像處理器),其可包括處理器中集成的核心處理單元,其中,核心處理單元基于運算能力的不同,可運算的負載量也不同,運算能力越強,可運算的負載量相應也就也大。其中,處理器資源可包括多個處理器,并且每個處理器中可集成多個核心處理單元,這些核心處理單元的運算能力可相同,也可不同。
[0060]以負載等級分為3個等級為例,負載等級可分為高負載等級、中負載等級及低負載等級。其中,高負載等級中的任務所需要的處理器資源相對較大,如需要獨立的核心處理單元進行處理,中負載等級中的任務可以允許一到兩個任務共享一個獨立的核心處理單元,低負載等級中的任務可以允許多個任務共享一個獨立的核心處理單元。上述對應的核心處理單元的運算能力可相同,或者,高負載等級的核心處理單元的運算能力高,即運算等級高;響應的,中或低負載等級的任務對應的核心處理單元的運算等級對應為中或低。
[0061]舉例說明,高負載等級對應的負載系可為I,表明每個任務需要單獨的核心處理單元進行處理,高負載等級的任務數量為Rq_big,則高負載等級的任務集對處理器資源的需求量0?1]_1^ = ?_1^*1^_1^;中負載等級對應的負載系數?_11^(1可為0.6,中負載等級的任務數量為Rq_mid,則中負載等級的任務集對處理器資源的需求量CPU_mid = P_mid*Rq_mid;低負載等級對應的負載系數P_smalI可為0.2,則低負載等級的任務集對處理器資源的需求量CPU_sma11 = P_sma11*Rq_sma11 ο
[0062]步驟S204,基于處理器的運算能力,為所述任務集確定對應運算等級的處理器資源。
[0063]在一個實施例中,當通過上述步驟確定出不同負載等級的任務集所對應的處理器資源的需求量后,還可進一步對處理器資源進行分類統計。具體的,可基于處理器的運算能力,可為任務集確定對應運算等級的處理器資源。可對處理器(包括核心處理單元)按照運算能力進行分類,從而形成不同運算等級的處理器資源。如將處理器資源的運算等級分為高運算等級、中運算等級及低運算等級,其與上述任務集的負載等級可相對應,即高負載等級的任務對應高運算等級的處理器資源,中運算等級的任務對應中運算等級的處理器資源,低負載等級的任務對應低運算等級的處理器資源。當然,處理器資源的運算等級還可細分為更多等級,任務集的負載等級可對應響應的一個或多個處理器資源的運算等級等,本發明實施例不做限定。相同運算等級的處理器資源可包括至少一個核心處理單元,其中,核心處理單元可來自一個處理器或不同的處理器。
[0064]步驟S205,判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量。
[0065]在一個實施例中,當確定出負載等級的任務集所對應的運算等級的處理器資源后,判斷向對應的運算等級的處理器資源是否能夠滿足該任務集對處理器資源的需求量。其中,可通過比對該處理器資源的可用余量與任務集對處理器資源的需求量,若處理器資源的可用余量大于需求量,則表明滿足;若可用余量小于需求量,則表明不滿足。
[0066]步驟S206,若判斷出滿足,則為所述任務集分配所述對應運算等級的處理器資源。
[0067]在一個實施例中,若通過上述步驟判斷出任務集所對應的處理器資源滿足上述需求量,則可為該任務集分配其所對應的處理器資源,從而充分利用了對應運算等級的處理器資源,并且能夠快速有效的對任務集中的任務進行處理。
[0068]步驟S207,若判斷出不滿足,則確定所述任務集對所述對應運算等級的處理器資源的第一額外需求量。
[0069]在一個實施例中,若判斷出不滿足,則首先需要確定該任務集對處理器資源的額外需求量。具體的,以中負載等級的任務集所對應的中運算等級的處理器資源為例。上述中負載等級的任務集對處理器資源的需求量為CPlLmid;中運算等級的處理器資源的可用余量為Num_mid,且Num_mid〈CPU_mid,則中負載等級的任務集對中運算等級的處理器資源的額外需求量CPU_m i d_ex = CPU_m i d_Num_m i d,并確定該額外需求量為第一額外需求量。
[0070]步驟S208,根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量。
[0071]在一個實施例中,若負載等級的任務集所對應的運算等級的處理器資源的可用余量不足以滿足該任務集對處理器資源的需求量時,即對應的運算等級的處理器資源僅能夠處理部分任務集的需求量時,對于額外需求量可進一步尋求其他運算等級的處理器資源。由于每個運算等級的運算能力不同,因而,可將對應運算等級下的第一額外需求量轉換為其他運算等級下的第二額外需求量。
[0072]具體的,本步驟可通過以下步驟實現:
[0073]計算出所述對應運算等級所對應的第一運算系數與所述其他運算等級所對應的第二運算系數的比值;
[0074]計算出所述第二額外需求量為所述比值結果與所述第一額外需求量的乘積。
[0075]以上述中負載等級的任務集為例,上述確定若中運算等級的處理器資源無法滿足中負載等級的任務集的需求量時,可優先查詢中運算等級以上的運算等級的處理器資源是否能夠滿足任務集的額外需求量。其中,運算等級不同,對應的運算系數不同,如高運算等級的運算系數Capacity_big為I,中運算等級的運算系數Capacity_mid為0.5,低運算等級的運算系數Capacity_smalI為0.2。通過上述方式將中負載等級的任務集對中運算等級的處理器資源的第一額外需求量轉化為中負載等級的任務集對高運算等級的處理器資源的第二額外需求量可通過以下公式:
[0076]CPU_big_ex = CPU_mid_ex氺Capac ity_mid/Capacitiy_big。
[0077]步驟S209,判斷所述其他運算等級的處理器資源是否能夠滿足所述第二額外需求量。
[0078]在一個實施例中,當計算出對其他運算等級的處理器資源的第二額外需求量時,可判斷該其他運算等級的處理器資源是否能夠滿足該第二額外需求量,即可通過比對其他運算等級的處理器資源的可用余量與第二額外需求量,若可用余量小于第二額外需求量,則不滿足;若可用余量大于第二額外需求量,則滿足。需要注意的是,此時,該其他運算等級中的可用余量代表的是該其他運算等級的處理器資源已被分配給其對應負載等級的處理器后,還能夠進行運算處理的余量。
[0079]步驟S210,若滿足,則根據所述第二額外需求量,為所述任務集分配所述其他運算等級的處理器資源。
[0080]在一個實施例中,若通過上述方式判斷出其他運算等級的處理器資源能夠處理上述負載等級的任務集對處理器資源的額外需求量時,則除了為該負載等級的任務集分配其對應的運算等級的處理器資源,還可為該負載等級的任務集分配上述其他運算等級的處理器資源。
[0081 ]若上述其他運算等級的處理器資源仍不能夠處理上述負載等級的任務集對處理器資源的額外需求量時,則可重復步驟S207?步驟S209。
[0082]舉例說明,若中運算等級的處理器資源無法滿足中負載等級的任務集的需求量時,可優先判斷中運算等級以上的運算等級的處理器資源是否能夠滿足任務集的額外需求量。本發明實施例中,將中負載等級的任務集對中運算等級的處理器資源的第一額外需求量轉化為中負載等級的任務集對高運算等級的處理器資源的第二額外需求量可通過以下公式:
[0083]CPU_big_ex = CPU_mid_ex氺Capac ity_mid/Capacitiy_big。
[0084]此時,若高運算等級的處理器資源的可用余量為Num_big-CPU_big;
[0085]比對CPU_big_ex 與 Num_big_CPU_big 的大小;
[0086]若0?1]_1^8_61較1'111111_1318-0?1]_1318大,貝Ij表明高運算等級的處理器資源的可用余量仍不能夠滿足中負載等級的任務集對處理器資源的額外需求量,此時,在中負載等級的任務集占用高運算等級的處理器資源的可用余量后,中負載等級對處理器資源的剩余的額外需求量可基于步驟S208中的計算方式進行計算。具體的,此時,剩余的額外需求量作為第一額外需求量為CPU_big_ex-(Num_big-CPU_big),繼續向低運算等級的處理器資源確定對低運算等級的處理器資源的第二額外需求量,第二額外需求量可通過以下公式進行計算:
[0087 ] CPU_smaIl_ex =(CPU_big_ex_(Num_big_CPU_b ig))*Capac ity_big/Capacitiy_smallo
[0088]通過上述方式直至中負載等級的任務集對處理器的需求量分配完成。從而可進一步充分利用處理器資源。
[0089]本發明實施例中,通過獲取系統中并行運行的η個任務,能夠將該η個任務按照負載量分類為m個負載等級的任務集;還可根據任務集中的任務數量以及該任務集的負載等級所對應的負載系數,計算出該任務集對處理器資源的需求量,并可基于計算的需求量為該任務集分配處理器資源。通過上述方式,能夠細化區分同時并行的任務,并可根據負載等級為不同的任務分配不同級別的處理器進行處理,有效的利用的處理器資源,提高了對多個并行運行任務的處理效率。
[0090]下面為本發明裝置實施例,本發明裝置實施例用于執行本發明方法實施例所實現的方法。如圖3所示,該移動終端可以包括獲取單元301、分類單元302、第一計算單元303、第一分配單元304。
[0091]其中,獲取單元,用于獲取系統中并行運行的η個任務,η為整數;
[0092]分類單元,用于將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數;
[0093]第一計算單元,用于根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量;
[0094]第一分配單元,用于為所述任務集分配所述處理器資源的需求量。
[0095]可選的,所述第一計算單元用于:
[0096]計算出所述任務集對處理器資源的需求量為所述任務集中的任務數量與所述任務集的負載等級對應的負載系數的乘積結果。
[0097]可選的,所述第一分配單元包括:
[0098]第一確定單元,用于基于處理器的運算能力,為所述任務集確定對應運算等級的處理器資源;
[0099]第一判斷單元,用于判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量;
[0100]第二分配單元,用于若所述第一判斷單元判斷出滿足,則為所述任務集分配所述對應運算等級的處理器資源。
[0101]可選的,所述移動終端還包括:
[0102]第二確定單元,用于若所述第一判斷單元判斷出不滿足,則確定所述任務集對所述對應運算等級的處理器資源的第一額外需求量;
[0103]第二計算單元,用于根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量;
[0104]第二判斷單元,用于判斷所述其他運算等級的處理器資源是否能夠滿足所述第二額外需求量;
[0105]第三分配單元,用于若所述第二判斷單元判斷出滿足,則根據所述第二額外需求量,為所述任務集分配所述其他運算等級的處理器資源。
[0106]可選的,所述第二計算單元用于:
[0107]計算出所述對應運算等級所對應的第一運算系數與所述其他運算等級所對應的第二運算系數的比值;
[0108]計算出所述第二額外需求量為所述比值結果與所述第一額外需求量的乘積。
[0109]本發明實施例中,通過獲取系統中并行運行的η個任務,能夠將該η個任務按照負載量分類為m個負載等級的任務集;還可根據任務集中的任務數量以及該任務集的負載等級所對應的負載系數,計算出該任務集對處理器資源的需求量,并可基于計算的需求量為該任務集分配處理器資源。通過上述方式,能夠細化區分同時并行的任務,并可根據負載等級為不同的任務分配不同級別的處理器進行處理,有效的利用的處理器資源,提高了對多個并行運行任務的處理效率。
[0110]需要注意的是,本發明裝置實施例所描述的移動終端是以功能單元的形式呈現。這里所使用的術語“單元”應當理解為盡可能最寬的含義,用于實現各個“單元”所描述功能的對象例如可以是集成電路ASIC,單個電路,用于執行一個或多個軟件或固件程序的處理器(共享的、專用的或芯片組)和存儲器,組合邏輯電路,和/或提供實現上述功能的其他合適的組件。
[0111]本發明實施例還提供了另一種移動終端,如圖4所示,包括:處理器101,存儲器102,通信接口 103、通信總線104;其中,處理器101、存儲器102、指紋識別模組105和通信接口 103通過通信總線104連接并完成相互間的通信;處理器101通過通信接口 103控制與外部蜂窩網的無線通信;通信接口 103包括但不限于天線、放大器、收發信機、耦合器、LNA(L0WNoise Amplifier,低噪聲放大器)、雙工器等。存儲器102包括以下至少一種:隨機存取存貯器、非易失性存儲器以及外部存儲器,存儲器102中存儲有可執行程序代碼,該可執行程序代碼能夠引導處理器101執行本發明方法實施例中具體披露的處理器資源的分配方法,包括以下步驟:
[0112]所述處理器1I獲取系統中并行運行的η個任務,11為整數;
[0113]所述處理器101將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數;
[0114]所述處理器101根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量;
[0115]所述處理器101為所述任務集分配所述處理器資源的需求量。
[0116]本發明實施例中,通過獲取系統中并行運行的η個任務,能夠將該η個任務按照負載量分類為m個負載等級的任務集;還可根據任務集中的任務數量以及該任務集的負載等級所對應的負載系數,計算出該任務集對處理器資源的需求量,并可基于計算的需求量為該任務集分配處理器資源。通過上述方式,能夠細化區分同時并行的任務,并可根據負載等級為不同的任務分配不同級別的處理器進行處理,有效的利用的處理器資源,提高了對多個并行運行任務的處理效率。
[0117]此外,上述存儲器102中存儲的可執行程序代碼還用于執行上述圖2所示的方法的相關步驟。在此暫不贅述。
[0118]本發明實施例還提供了另一種移動終端,如圖5所示,為了便于說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明實施例方法部分。該移動終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數字助理)、P0S(Point of Sales,銷售終端)、車載電腦等任意終端設備,以移動終端為手機為例:
[0119]圖5示出的是與本發明實施例提供的移動終端相關的手機的部分結構的框圖。參考圖5,手機包括:射頻(Rad1 Frequency,RF)電路910、存儲器920、輸入單元930、顯示單元940、傳感器950、音頻電路960、無線保真(wireless fidelity,WiFi)模塊970、處理器980、以及電源990等部件。本領域技術人員可以理解,圖5中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
[0120]下面結合圖5對手機的各個構成部件進行具體的介紹:
[0121]RF電路910可用于信息的接收和發送。通常,RF電路910包括但不限于天線、至少一個放大器、收發信機、親合器、低噪聲放大器(Low Noise Amplif ier,LNA)、雙工器等。此外,RF電路910還可以通過無線通信與網絡和其他設備通信。上述無線通信可以使用任一通信標準或協議,包括但不限于全球移動通訊系統(Global System of Mobilecommunicat1n,GSM)、通用分組無線服務(General Packet Rad1 Service,GPRS)、碼分多址(Code Divis1n Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Divis1nMultiple Access ,WCDMA)、長期演進(Long Term Evolut1n,LTE)、電子郵件、短消息服務(Short Messaging Service,SMS)等。
[0122]存儲器920可用于存儲軟件程序以及模塊,處理器980通過運行存儲在存儲器920的軟件程序以及模塊,從而執行手機的各種功能應用以及數據處理。存儲器920可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序等;存儲數據區可存儲根據手機的使用所創建的數據等。此外,存儲器920可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。
[0123]輸入單元930可用于接收輸入的數字或字符信息,以及產生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入設備930可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿、指紋識別模組等中的一種或多種。
[0124]顯示單元940可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元940可包括顯示屏941,可選的,可以采用液晶顯示器(Liquid CrystalDisplay,IXD)、有機發光二極管(Organic Light-Emitting D1de,0LED)等形式來配置顯示屏941。
[0125]手機還可包括至少一種傳感器950,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中,環境光傳感器可根據環境光線的明暗來調節顯示屏941的亮度,接近傳感器可在手機移動到耳邊時,關閉顯示屏941和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態的應用(比如橫豎屏切換、相關游戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
[0126]音頻電路960、揚聲器961,傳聲器962可提供用戶與手機之間的音頻接口。音頻電路960可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器961,由揚聲器961轉換為聲音信號輸出;另一方面,傳聲器962將收集的聲音信號轉換為電信號,由音頻電路960接收后轉換為音頻數據,再將音頻數據輸出處理器980處理后,經RF電路910以發送給比如另一手機,或者將音頻數據輸出至存儲器920以便進一步處理。
[0127]WiFi屬于短距離無線傳輸技術,手機通過WiFi模塊970可以幫助用戶收發電子郵性、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。雖然圖5示出了WiFi模塊970,但是可以理解的是,其并不屬于手機的必須構成,完全可以根據需要在不改變發明的本質的范圍內而省略。
[0128]處理器980是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在存儲器920內的軟件程序和/或模塊,以及調用存儲在存儲器920內的數據,執行手機的各種功能和處理數據,從而對手機進行整體監控。可選的,處理器980可包括一個或多個核心處理單元;優選的,處理器980可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器980中。
[0129]手機還包括給各個部件供電的電源990(比如電池),優選的,電源可以通過電源管理系統與處理器980邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。
[0130]盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。
[0131]前述圖1或圖2所示的實施例中,各步驟方法流程可以基于該手機的結構實現。
[0132]前述圖3所示的實施例中,各單元功能可以基于該手機的結構實現。
[0133]本發明實施例還提供一種計算機存儲介質,其中,該計算機存儲介質可存儲有程序,該程序執行時包括上述方法實施例中記載的任何一種處理器資源的分配方法的部分或全部步驟。
[0134]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。
[0135]在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0136]在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置,可通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0137]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0138]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0139]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲器中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲器中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲器包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0140]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲器中,存儲器可以包括:閃存盤、只讀存儲器(英文:Read-Only Memory,簡稱:ROM)、隨機存取器(英文:Random Access Memory,簡稱:RAM)、磁盤或光盤等。
[0141]以上對本發明實施例進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【主權項】
1.一種處理器資源的分配方法,其特征在于,包括: 獲取系統中并行運行的η個任務,η為整數; 將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數; 根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量; 為所述任務集分配所述處理器資源的需求量。2.如權利要求1所述方法,其特征在于,所述根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量,包括: 計算出所述任務集對處理器資源的需求量為所述任務集中的任務數量與所述任務集的負載等級對應的負載系數的乘積結果。3.如權利要求1或2所述方法,其特征在于,所述為所述任務集分配所述處理器資源的需求量,包括: 基于處理器的運算能力,為所述任務集確定對應運算等級的處理器資源; 判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量; 若判斷出滿足,則為所述任務集分配所述對應運算等級的處理器資源。4.如權利要求3所述方法,其特征在于,所述判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量之后,所述方法還包括: 若判斷出不滿足,則確定所述任務集對所述對應運算等級的處理器資源的第一額外需求量; 根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量; 判斷所述其他運算等級的處理器資源是否能夠滿足所述第二額外需求量; 若判斷出滿足,則根據所述第二額外需求量,為所述任務集分配所述其他運算等級的處理器資源。5.如權利要求4所述方法,其特征在于,所述根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量,包括: 計算出所述對應運算等級所對應的第一運算系數與所述其他運算等級所對應的第二運算系數的比值; 計算出所述第二額外需求量為所述比值結果與所述第一額外需求量的乘積。6.一種移動終端,其特征在于,包括: 獲取單元,用于獲取系統中并行運行的η個任務,η為整數; 分類單元,用于將所述η個任務按照負載量分類為m個負載等級的任務集,m為整數;第一計算單元,用于根據任務集中的任務數量及所述任務集的負載等級對應的負載系數,計算出所述任務集對處理器資源的需求量; 第一分配單元,用于為所述任務集分配所述處理器資源的需求量。7.如權利要求6所述移動終端,其特征在于,所述第一計算單元用于: 計算出所述任務集對處理器資源的需求量為所述任務集中的任務數量與所述任務集的負載等級對應的負載系數的乘積結果。8.如權利要求6或7所述移動終端,其特征在于,所述第一分配單元包括: 第一確定單元,用于基于處理器的運算能力,為所述任務集確定對應運算等級的處理器資源; 第一判斷單元,用于判斷所述對應運算等級的處理器資源是否能夠滿足所述需求量; 第二分配單元,用于若所述第一判斷單元判斷出滿足,則為所述任務集分配所述對應運算等級的處理器資源。9.如權利要求8所述移動終端,其特征在于,所述移動終端還包括: 第二確定單元,用于若所述第一判斷單元判斷出不滿足,則確定所述任務集對所述對應運算等級的處理器資源的第一額外需求量; 第二計算單元,用于根據所述第一額外需求量,計算出對其他運算等級的處理器資源的第二額外需求量; 第二判斷單元,用于判斷所述其他運算等級的處理器資源是否能夠滿足所述第二額外需求量; 第三分配單元,用于若所述第二判斷單元判斷出滿足,則根據所述第二額外需求量,為所述任務集分配所述其他運算等級的處理器資源。10.如權利要求9所述移動終端,其特征在于,所述第二計算單元用于: 計算出所述對應運算等級所對應的第一運算系數與所述其他運算等級所對應的第二運算系數的比值; 計算出所述第二額外需求量為所述比值結果與所述第一額外需求量的乘積。11.一種移動終端,其特征在于,包括: 處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線連接并完成相互間的通信; 所述存儲器存儲有可執行程序代碼,所述通信接口用于無線通信; 所述處理器用于調用所述存儲器中的所述可執行程序代碼,執行如權利要求1-5任意一項所述的方法。
【文檔編號】G06F9/50GK106055409SQ201610380674
【公開日】2016年10月26日
【申請日】2016年5月31日
【發明人】曾元清
【申請人】廣東歐珀移動通信有限公司