任務(wù)管理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及操作系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種任務(wù)管理方法和系統(tǒng)。
【背景技術(shù)】
[0002]目前,很多計算設(shè)備(例如智能手機(jī)、平板電腦等)均支持多任務(wù)系統(tǒng),即同一時間內(nèi)設(shè)備可運行多個應(yīng)用程序,一個應(yīng)用程序中可能有一個或多個線程,每個線程上運行一個任務(wù)。而多任務(wù)中一般會包括前臺任務(wù)和后臺任務(wù),后臺任務(wù)會與前臺任務(wù)競爭資源,搶占前臺任務(wù)資源,有時會妨礙前臺任務(wù)的運行。資源可以是CPU (Central ProcessingUnit,中央處理器)、GPU(Graphics Processing Unit,圖形處理器)、內(nèi)存等。為解決該問題,傳統(tǒng)做法是將后臺任務(wù)完全暫停,但有些后臺任務(wù)需要實時與服務(wù)器進(jìn)行溝通,例如訊息傳遞或郵件服務(wù)等,若是將后臺任務(wù)完全暫停,會造成信息無法及時反饋或是產(chǎn)生其它預(yù)期外的行為等問題。
【發(fā)明內(nèi)容】
[0003]基于此,有必要提供一種任務(wù)管理方法,既能保證后臺任務(wù)的正常運行,也能減少后臺任務(wù)與前臺任務(wù)的資源競爭,節(jié)約資源。
[0004]此外,還有必要提供一種任務(wù)管理系統(tǒng),既能保證后臺任務(wù)的正常運行,也能減少后臺任務(wù)與前臺任務(wù)的資源競爭,節(jié)約資源。
[0005]—種任務(wù)管理方法,包括以下步驟:
[0006]監(jiān)視后臺任務(wù)的運行;
[0007]確定特定的后臺任務(wù)在單位時間內(nèi)所允許的運行時間,全部特定的后臺任務(wù)在單位時間內(nèi)所允許的運行時間之和小于或等于預(yù)設(shè)的時間閾值;
[0008]在單位時間內(nèi),當(dāng)各個特定的后臺任務(wù)在對應(yīng)的運行時段之外時,使所述各個特定的后臺任務(wù)分別進(jìn)入等待狀態(tài)。
[0009]在其中一個實施例中,在所述監(jiān)視后臺任務(wù)的運行的步驟之后,還包括:
[0010]建立后臺任務(wù)群組,并設(shè)置所述后臺任務(wù)群組的資源使用時間額度為預(yù)設(shè)的時間閾值;
[0011]根據(jù)預(yù)定的規(guī)則,將特定的后臺任務(wù)添加入所述后臺任務(wù)群組。
[0012]在其中一個實施例中,所述方法還包括以下步驟:
[0013]獲取正在執(zhí)行的前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級;
[0014]當(dāng)所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級相同時,在所述單位時間內(nèi),確定所述后臺任務(wù)群組中的各個后臺任務(wù)所允許的運行時間為所述時間閾值除以所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的數(shù)量之和。
[0015]在其中一個實施例中,在所述獲取正在執(zhí)行的前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級的步驟之后,還包括:
[0016]當(dāng)所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級不同時,在所述單位時間內(nèi),基于所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級高低并按照預(yù)定的算法確定所述后臺任務(wù)群組中的各個后臺任務(wù)所允許的運行時間。
[0017]在其中一個實施例中,在所述在單位時間內(nèi),當(dāng)各個特定的后臺任務(wù)在對應(yīng)的運行時段之外時,使所述各個特定的后臺任務(wù)分別進(jìn)入等待狀態(tài)的步驟之后,還包括:
[0018]判斷當(dāng)各個特定的后臺任務(wù)均進(jìn)入等待狀態(tài)時是否有前臺任務(wù)正在執(zhí)行;
[0019]若是,則確定所述前臺任務(wù)獲得全部的資源使用時間;
[0020]若否,則進(jìn)入休眠狀態(tài)。
[0021]—種任務(wù)管理系統(tǒng),包括:
[0022]監(jiān)視模塊,用于監(jiān)視后臺任務(wù)的運行;
[0023]確定模塊,用于確定特定的后臺任務(wù)在單位時間內(nèi)所允許的運行時間,全部特定的后臺任務(wù)在單位時間內(nèi)所允許的運行時間之和小于或等于預(yù)設(shè)的時間閾值;
[0024]等待模塊,用于在單位時間內(nèi),當(dāng)各個特定的后臺任務(wù)在對應(yīng)的運行時段之外時,使所述各個特定的后臺任務(wù)分別進(jìn)入等待狀態(tài)。
[0025]在其中一個實施例中,所述系統(tǒng)還包括:
[0026]建立模塊,用于建立后臺任務(wù)群組,并設(shè)置所述后臺任務(wù)群組的資源使用時間額度為預(yù)設(shè)的時間閾值;
[0027]添加模塊,用于根據(jù)預(yù)定的規(guī)則,將特定的后臺任務(wù)添加入所述后臺任務(wù)群組。
[0028]在其中一個實施例中,所述系統(tǒng)還包括:
[0029]獲取優(yōu)先級模塊,用于獲取正在執(zhí)行的前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級;
[0030]所述確定模塊還用于當(dāng)所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級相同時,在所述單位時間內(nèi),確定所述后臺任務(wù)群組中的各個后臺任務(wù)所允許的運行時間為所述時間閾值除以所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的數(shù)量之和。
[0031]在其中一個實施例中,所述確定模塊還用于當(dāng)所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級不同時,在所述單位時間內(nèi),基于所述前臺任務(wù)與所述后臺任務(wù)群組中的后臺任務(wù)的優(yōu)先級高低并按照預(yù)定的算法確定所述后臺任務(wù)群組中的各個后臺任務(wù)所允許的運行時間。
[0032]在其中一個實施例中,所述系統(tǒng)還包括:
[0033]判斷模塊,用于判斷當(dāng)各個特定的后臺任務(wù)均進(jìn)入等待狀態(tài)時是否有前臺任務(wù)正在執(zhí)行。
[0034]所述確定模塊還用于當(dāng)判斷出當(dāng)各個特定的后臺任務(wù)均進(jìn)入等待狀態(tài)時有前臺任務(wù)正在執(zhí)行,則確定所述前臺任務(wù)獲得全部的資源使用時間;
[0035]休眠模塊,用于當(dāng)判斷出當(dāng)各個特定的后臺任務(wù)均進(jìn)入等待狀態(tài)時無前臺任務(wù)正在執(zhí)行,則進(jìn)入休眠狀態(tài)。
[0036]上述任務(wù)管理方法和系統(tǒng),每單位時間內(nèi),各個特定的后臺任務(wù)只在對應(yīng)的運行時段內(nèi)運行,當(dāng)各個特定的后臺任務(wù)在對應(yīng)的運行時段之外時,使各個特定的后臺任務(wù)分別進(jìn)入等待狀態(tài),且所有特定的后臺任務(wù)的所允許的運行時間之和不超過預(yù)設(shè)的時間閾值,既能保證后臺任務(wù)的正常運行,后臺任務(wù)又不會無限制地與前臺任務(wù)搶占資源,使前臺任務(wù)有更佳的資源使用效率,節(jié)約資源。
[0037]此外,當(dāng)所有后臺任務(wù)均進(jìn)入等待狀態(tài)且無前臺任務(wù)進(jìn)行執(zhí)行時,自動進(jìn)入休眠狀態(tài),減少設(shè)備的電力消耗。
【附圖說明】
[0038]圖1為一個實施例中任務(wù)管理方法的流程示意圖;
[0039]圖2為一個實施例中任務(wù)執(zhí)行時的時間示意圖;
[0040]圖3為一個實施例中前臺任務(wù)與后臺任務(wù)資源使用時間分配的流程示意圖;
[0041]圖4為另一個實施例中任務(wù)執(zhí)彳丁時的時間不意圖;
[0042]圖5為一個實施例中任務(wù)管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0043]圖6為另一個實施例中任務(wù)管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0044]圖7為另一個實施例中任務(wù)管理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0045]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0046]如圖1所示,一種任務(wù)管理方法,包括以下步驟:
[0047]步驟S110,監(jiān)視后臺任務(wù)的運行。
[0048]具體的,對后臺任務(wù)的運行進(jìn)行監(jiān)視,可獲取后臺任務(wù)的數(shù)量、優(yōu)先級、用戶標(biāo)識符(User Identifier, UID)等信息。
[0049]步驟S120,確定特定的后臺任務(wù)在單位時間內(nèi)所允許的運行時間。
[0050]具體的,將時間劃分為連續(xù)的多個單位時間進(jìn)行監(jiān)測,特定的后臺任務(wù)只在單位時間中的部分時段內(nèi)才擁有資源使用權(quán),即每個特定的后臺任務(wù)僅在與其對應(yīng)的部分時段被運行,該部分時段的時長等于前述確定的所允許的運行時間。所有特定的后臺任務(wù)在單位時間內(nèi)所允許的運行時間之和小于或等于預(yù)設(shè)的時間閾值,時間閾值為單位時間內(nèi)所有特定的后臺任務(wù)被允許運行的時間之和的最大值。其中,根據(jù)實際需要,可設(shè)定特定的后臺任務(wù)為全部后臺任務(wù)中的任意一個后臺任務(wù),在其它的實施例中,根據(jù)實際需要,特定的后臺任務(wù)也可設(shè)定為全部后臺任務(wù)中符合預(yù)定規(guī)則的后臺任務(wù)。前臺任務(wù)指需要用戶參與交互的任務(wù),后臺任務(wù)則指不需用戶參與交互的任務(wù),例如:文字編輯軟件中,其接收用戶輸入的字符即為前臺任務(wù),而每隔一定時間自動進(jìn)行保存則為后臺任務(wù)。時間閾值小于單位時間,例如單位時間可為2T,時間閾值可為T、0.5Τ、0.75Τ等。Τ可以為10s (秒)、15s、20s等時間較短的數(shù)值,可以更好地保證后臺任務(wù)的執(zhí)行,不會因