亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

任務(wù)調(diào)度方法和裝置與流程

文檔序號(hào):11154604閱讀:382來(lái)源:國(guó)知局
任務(wù)調(diào)度方法和裝置與制造工藝

本發(fā)明涉及操作系統(tǒng)技術(shù)領(lǐng)域,具體而言,涉及一種任務(wù)調(diào)度方法和裝置。



背景技術(shù):

任務(wù)調(diào)度是操作系統(tǒng)的重要組成部分,操作系統(tǒng)將CPU的時(shí)間劃分為多個(gè)時(shí)間片,按照預(yù)先設(shè)置的調(diào)度策略,將這些時(shí)間片分配給各個(gè)任務(wù)。例如Linux系統(tǒng)中的CFS(Completely Fair Scheduler)調(diào)度策略,這種調(diào)度策略試圖按照對(duì)CPU時(shí)間的“最大需求(gravest need)”運(yùn)行任務(wù),以保證各個(gè)任務(wù)可以獲得比較公平的CPU占用。

然而,在實(shí)際調(diào)度過(guò)程中,由于操作系統(tǒng)所執(zhí)行的后臺(tái)任務(wù)比較多,每個(gè)后臺(tái)任務(wù)會(huì)占用CPU一部分時(shí)間片,導(dǎo)致前臺(tái)任務(wù)得到的時(shí)間片較少,造成前臺(tái)任務(wù)執(zhí)行不及時(shí),使用戶感覺操作系統(tǒng)的響應(yīng)慢(即卡頓),影響用戶的體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提供一種任務(wù)調(diào)度方法和裝置,以提升前臺(tái)任務(wù)的響應(yīng)速度和改善用戶的體驗(yàn)度。

為解決上述技術(shù)問題,本發(fā)明采用的第一技術(shù)方案是:一種任務(wù)調(diào)度方法,包括:

進(jìn)行任務(wù)調(diào)度時(shí),檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù);

如果存在前臺(tái)任務(wù),按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度。

進(jìn)一步,所述方法還包括:當(dāng)新生成的任務(wù)為響應(yīng)用戶操作的任務(wù)或?qū)︼@示界面進(jìn)行操作的任務(wù)時(shí),設(shè)置新生成的任務(wù)的任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)和/或?qū)⑿律傻娜蝿?wù)添加至前臺(tái)調(diào)度隊(duì)列中;相應(yīng)地,所述檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù)包括:判斷待調(diào)度的任務(wù)中是否存在任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)的任務(wù),如果存在,確定所述待調(diào)度的任務(wù)中存在前臺(tái)任務(wù);或者,判斷所述前臺(tái)調(diào)度隊(duì)列是否為空,如果否,確定待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)。

進(jìn)一步,所述按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度包括:以時(shí)間上優(yōu)先調(diào)度所述前臺(tái)任務(wù)的方式對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度,或者,以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度。

進(jìn)一步,所述以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度包括:按照固定比例或者動(dòng)態(tài)彈性比例,設(shè)置所述前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例;以設(shè)置后的所述CPU時(shí)間片分配比例,為所述前臺(tái)任務(wù)和所述后臺(tái)任務(wù)分配CPU時(shí)間片。

進(jìn)一步,所述方法還包括:在任務(wù)執(zhí)行過(guò)程中,如果當(dāng)前任務(wù)由前臺(tái)任務(wù)切換為后臺(tái)任務(wù),將所述當(dāng)前任務(wù)修改為后臺(tái)任務(wù);如果所述當(dāng)前任務(wù)由后臺(tái)任務(wù)切換為前臺(tái)任務(wù),將所述當(dāng)前任務(wù)修改為前臺(tái)任務(wù)。

進(jìn)一步,所述方法還包括:在前臺(tái)任務(wù)的各任務(wù)之間或者后臺(tái)任務(wù)的各任務(wù)之間進(jìn)行調(diào)度時(shí),按照操作系統(tǒng)預(yù)先配置的調(diào)度策略進(jìn)行任務(wù)調(diào)度。

本發(fā)明采用的第二技術(shù)方案是:一種任務(wù)調(diào)度裝置,該裝置包括:

檢查模塊,用于進(jìn)行任務(wù)調(diào)度時(shí)檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù);

任務(wù)調(diào)度模塊,用于當(dāng)所述檢查模塊的檢查結(jié)果中存在前臺(tái)任務(wù)時(shí),按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度。

進(jìn)一步,所述裝置還包括:前臺(tái)任務(wù)處理模塊,用于當(dāng)新生成的任務(wù)為響應(yīng)用戶操作的任務(wù)或?qū)︼@示界面進(jìn)行操作的任務(wù)時(shí),設(shè)置新生成的任務(wù)的任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)和/或?qū)⑿律傻娜蝿?wù)添加至前臺(tái)調(diào)度隊(duì)列中;所述檢查模塊還用于判斷待調(diào)度的任務(wù)中是否存在任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)的任務(wù),如果存在,確定所述待調(diào)度的任務(wù)中存在前臺(tái)任務(wù);或者,所述檢查模塊還用于判斷所述前臺(tái)調(diào)度隊(duì)列是否為空,如果否,確定待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)。

進(jìn)一步,所述任務(wù)調(diào)度模塊還用于以時(shí)間上優(yōu)先調(diào)度所述前臺(tái)任務(wù)的方式對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度,或者,所述任務(wù)調(diào)度模塊還用于以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)所述待調(diào)度的任務(wù)進(jìn)行調(diào)度。

進(jìn)一步,所述任務(wù)調(diào)度模塊包括:分配比例設(shè)置單元,用于按照固定比例或者動(dòng)態(tài)彈性比例,設(shè)置所述前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例;分配單元,用于以設(shè)置后的所述CPU時(shí)間片分配比例,為所述前臺(tái)任務(wù)和所述后臺(tái)任務(wù)分配CPU時(shí)間片。

進(jìn)一步,任務(wù)切換模塊,用于在任務(wù)執(zhí)行過(guò)程中,如果當(dāng)前任務(wù)由前臺(tái)任務(wù)切換為后臺(tái)任務(wù),將所述當(dāng)前任務(wù)修改為后臺(tái)任務(wù);如果所述當(dāng)前任務(wù)由后臺(tái)任務(wù)切換為前臺(tái)任務(wù),將所述當(dāng)前任務(wù)修改為前臺(tái)任務(wù)。

進(jìn)一步,所述任務(wù)調(diào)度模塊還用于在前臺(tái)任務(wù)的各任務(wù)之間或者后臺(tái)任務(wù)的各任務(wù)之間進(jìn)行調(diào)度時(shí),按照所述裝置對(duì)應(yīng)的操作系統(tǒng)預(yù)先配置的調(diào)度策略進(jìn)行任務(wù)調(diào)度。

本發(fā)明公開的實(shí)施例提供的技術(shù)方案可以包括如下有益效果:

通過(guò)檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù),可以按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度,從而對(duì)前臺(tái)任務(wù)和后臺(tái)任務(wù)區(qū)分處理,以前臺(tái)任務(wù)占優(yōu)的調(diào)度方式提升了前臺(tái)任務(wù)的響應(yīng)速度,進(jìn)而提高了用戶的體驗(yàn)度。

為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種任務(wù)調(diào)度方法的流程示意圖;

圖2為本發(fā)明實(shí)施例提供的任務(wù)調(diào)度方法的另一種流程示意圖;

圖3為本發(fā)明實(shí)施例提供的任務(wù)調(diào)度方法的另一種流程示意圖;

圖4為本發(fā)明實(shí)施例提供的一種任務(wù)調(diào)度裝置的結(jié)構(gòu)示意圖;

圖5為本發(fā)明實(shí)施例提供的任務(wù)調(diào)度裝置的另一種結(jié)構(gòu)示意圖;

圖6為本發(fā)明實(shí)施例提供的任務(wù)調(diào)度裝置的另一種結(jié)構(gòu)示意圖;

圖7為本發(fā)明實(shí)施例提供的任務(wù)調(diào)度裝置的另一種結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例提供的任務(wù)調(diào)度裝置的另一種結(jié)構(gòu)示意圖;

圖9為本發(fā)明實(shí)施例提供的一種任務(wù)調(diào)度設(shè)備。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

除非另有定義,本文所使用的所有的技術(shù)和科學(xué)術(shù)語(yǔ)與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中在通知信息訪問方法及通知信息訪問裝置的說(shuō)明書中所使用的術(shù)語(yǔ)只是為了描述具體的實(shí)施例的目的,不是旨在限制本發(fā)明。本文所使用的術(shù)語(yǔ)“及/或”包括一個(gè)或多個(gè)相關(guān)的所列項(xiàng)目的任意的和所有的組合。

下面結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施方式作詳細(xì)說(shuō)明。

實(shí)施例1

本發(fā)明實(shí)施例1提供了一種任務(wù)調(diào)度方法,該任務(wù)調(diào)度方法可以應(yīng)用于設(shè)備的操作系統(tǒng)中,該設(shè)備可以是移動(dòng)終端,例如手機(jī)、電腦或其它智能終端;也可以是網(wǎng)絡(luò)側(cè)的設(shè)備,例如網(wǎng)絡(luò)服務(wù)器。上述操作系統(tǒng)可以是UNIX、Linux、Mac OS、Windows、iOS、Android、WP和Chrome OS等。參見圖1所示的任務(wù)調(diào)度方法的流程示意圖,該方法包括如下步驟:

步驟S11,進(jìn)行任務(wù)調(diào)度時(shí),檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù)。其中,該前臺(tái)任務(wù)通??梢园憫?yīng)用戶操作的任務(wù)和對(duì)顯示界面進(jìn)行操作的任務(wù)等。

步驟S12,如果存在前臺(tái)任務(wù),按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度。其中,該前臺(tái)任務(wù)占優(yōu)的方式可以是時(shí)間上優(yōu)先調(diào)度前臺(tái)任務(wù),也可以是在分配CPU時(shí)間片時(shí),在分配比例上設(shè)置前臺(tái)任務(wù)的比例大于后臺(tái)任務(wù)的比例。

上述方法通過(guò)在檢查出待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)時(shí),按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度,實(shí)現(xiàn)了調(diào)度過(guò)程中前臺(tái)任務(wù)和后臺(tái)任務(wù)的區(qū)分處理,這種以前臺(tái)任務(wù)占優(yōu)的調(diào)度方式提升了前臺(tái)任務(wù)的響應(yīng)速度,進(jìn)而提高了用戶的體驗(yàn)度。

當(dāng)待調(diào)度的任務(wù)中不存在前臺(tái)任務(wù)時(shí),可以按照當(dāng)前操作系統(tǒng)預(yù)先配置的調(diào)度策略對(duì)后臺(tái)任務(wù)進(jìn)行調(diào)度,該預(yù)先配置的調(diào)度策略與當(dāng)前的操作系統(tǒng)相關(guān)聯(lián),不同的操作系統(tǒng)可以設(shè)置不同的調(diào)度策略,例如:Linux系統(tǒng)可以采用CFS組調(diào)度策略或者RT組調(diào)度策略,該策略的具體調(diào)度方式可以參考相關(guān)技術(shù)實(shí)現(xiàn),這里不再贅述。

為了在任務(wù)調(diào)度過(guò)程中,簡(jiǎn)化檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù)的操作,本實(shí)施例在有新任務(wù)生成時(shí),直接根據(jù)新任務(wù)執(zhí)行的具體操作判斷該新任務(wù)是否為前臺(tái)任務(wù),如果是前臺(tái)任務(wù),則為該前臺(tái)任務(wù)設(shè)置一個(gè)前臺(tái)標(biāo)識(shí),該前臺(tái)標(biāo)識(shí)可以是設(shè)置于前臺(tái)任務(wù)指定字段位置處的一串特定的字符串,也可以是設(shè)置于前臺(tái)任務(wù)的任務(wù)名稱下方的下劃線等標(biāo)識(shí),具體前臺(tái)標(biāo)識(shí)的形式可以靈活選取,本實(shí)施例不對(duì)其進(jìn)行限定。

進(jìn)一步地,除了為前臺(tái)任務(wù)設(shè)置前臺(tái)標(biāo)識(shí)的方式之外,還可以將前臺(tái)任務(wù)和后臺(tái)任務(wù)分別對(duì)應(yīng)至不同的任務(wù)池或者任務(wù)隊(duì)列中,在進(jìn)行調(diào)度時(shí),通過(guò)檢查前臺(tái)任務(wù)對(duì)應(yīng)的任務(wù)池或任務(wù)隊(duì)列是否為空,確定當(dāng)前待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù)。

基于上述設(shè)置前臺(tái)標(biāo)識(shí)或者采用任務(wù)池/任務(wù)隊(duì)列的方式,上述方法還包括:當(dāng)新生成的任務(wù)為響應(yīng)用戶操作的任務(wù)或?qū)︼@示界面進(jìn)行操作的任務(wù)時(shí),將該新生成的任務(wù)的任務(wù)狀態(tài)設(shè)置為前臺(tái)標(biāo)識(shí),或者將該新生成的任務(wù)添加至前臺(tái)調(diào)度隊(duì)列中。相應(yīng)地,上述步驟S11中的檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù)的步驟,具體包括:判斷待調(diào)度的任務(wù)中是否存在任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)的任務(wù),如果存在,確定待調(diào)度的任務(wù)中存在前臺(tái)任務(wù);或者,判斷前臺(tái)調(diào)度隊(duì)列是否為空,如果否,確定待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)。

當(dāng)新生成的任務(wù)不屬于上述響應(yīng)用戶操作的任務(wù)或?qū)︼@示界面進(jìn)行操作的任務(wù)時(shí),則確認(rèn)該新生成的任務(wù)屬于后臺(tái)任務(wù),可以將后臺(tái)任務(wù)的任務(wù)狀態(tài)設(shè)置為后臺(tái)標(biāo)識(shí),或者將該后臺(tái)任務(wù)添加至后臺(tái)調(diào)度隊(duì)列中。

其中,上述任務(wù)狀態(tài)可以是為任務(wù)增添的一個(gè)字段,該字段中的信息即為任務(wù)的前/后臺(tái)標(biāo)識(shí);另外,該任務(wù)狀態(tài)也可以是任務(wù)名稱或某個(gè)字段的前、后、上或下處的一個(gè)特殊標(biāo)記,該特殊標(biāo)記可以是線段形式的,也可以是*或**,或##等形式的。

通過(guò)上述前臺(tái)任務(wù)的處理方式,在任務(wù)調(diào)度時(shí),能夠很簡(jiǎn)單快速地識(shí)別出待調(diào)度的任務(wù)中是否有前臺(tái)任務(wù),進(jìn)而提升了任務(wù)調(diào)度的速度,更進(jìn)一步地保障了前臺(tái)任務(wù)響應(yīng)的及時(shí)性。

實(shí)施例2

本發(fā)明實(shí)施例2提供了一種任務(wù)調(diào)度方法,參見圖2所示的流程示意圖,該方法包括如下步驟:

步驟S21,判斷新生成的任務(wù)是否為前臺(tái)任務(wù),如果是,執(zhí)行步驟S22;如果否,執(zhí)行步驟S23;

本實(shí)施例中,如果該新生成的任務(wù)屬于響應(yīng)用戶操作的任務(wù)或?qū)︼@示界面進(jìn)行操作的任務(wù),則確定該新生成的任務(wù)是前臺(tái)任務(wù);否則,確定該新生成的任務(wù)是后臺(tái)任務(wù)。

步驟S22,設(shè)置該新生成的任務(wù)的任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)。

步驟S23,設(shè)置該新生成的任務(wù)的任務(wù)狀態(tài)為后臺(tái)標(biāo)識(shí)。

具體的前臺(tái)標(biāo)識(shí)及后臺(tái)標(biāo)識(shí)可以參考實(shí)施例1中的形式靈活選取,本實(shí)施例不對(duì)其進(jìn)行限定。

步驟S24,進(jìn)行任務(wù)調(diào)度時(shí),判斷待調(diào)度的任務(wù)中是否存在任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)的任務(wù),如果是,執(zhí)行步驟S25;如果否,執(zhí)行步驟S26;

當(dāng)待調(diào)度的任務(wù)中存在任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)的任務(wù)時(shí),說(shuō)明待調(diào)度的任務(wù)中存在前臺(tái)任務(wù),否則,待調(diào)度的任務(wù)中不存在前臺(tái)任務(wù)。

步驟S25,以時(shí)間上優(yōu)先調(diào)度前臺(tái)任務(wù)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度。

具體地,以時(shí)間上優(yōu)先調(diào)度前臺(tái)任務(wù)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度如下:先調(diào)度前臺(tái)任務(wù),在前臺(tái)任務(wù)全部執(zhí)行完成后再進(jìn)行后臺(tái)任務(wù)的調(diào)度。例如,當(dāng)以時(shí)間片分配的方式進(jìn)行時(shí),可以將全部CPU時(shí)間片分配給前臺(tái)任務(wù)(各個(gè)前臺(tái)任務(wù)之間的調(diào)度,按照操作系統(tǒng)預(yù)先配置的調(diào)度策略進(jìn)行),在全部前臺(tái)任務(wù)執(zhí)行完成后才會(huì)將CPU時(shí)間片分配給后臺(tái)任務(wù)。

步驟S26,按照當(dāng)前操作系統(tǒng)預(yù)先配置的調(diào)度策略對(duì)后臺(tái)任務(wù)進(jìn)行調(diào)度。

上述步驟S25中,當(dāng)待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)時(shí),本實(shí)施例以時(shí)間上優(yōu)先調(diào)度前臺(tái)任務(wù)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度;可以理解的是,當(dāng)待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)時(shí),也可以采用以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度,本實(shí)施例對(duì)此不進(jìn)行限定。

本實(shí)施例提供的上述任務(wù)調(diào)度方法,通過(guò)設(shè)置前臺(tái)標(biāo)識(shí)和后臺(tái)標(biāo)識(shí)的方式區(qū)分前臺(tái)任務(wù)和后臺(tái)任務(wù),在有前臺(tái)任務(wù)時(shí),先調(diào)度前臺(tái)任務(wù),前臺(tái)任務(wù)均執(zhí)行完之后,再調(diào)度后臺(tái)任務(wù),保障了前臺(tái)任務(wù)的絕對(duì)優(yōu)勢(shì),進(jìn)而保障了前臺(tái)任務(wù)的響應(yīng)速度,提升了用戶的體驗(yàn)度。

實(shí)施例3

參見圖3所示的任務(wù)調(diào)度方法的另一種流程示意圖,該方法中采用任務(wù)調(diào)度隊(duì)列的方式區(qū)分前臺(tái)任務(wù)及后臺(tái)任務(wù),該方法包括如下步驟:

步驟S31,判斷新生成的任務(wù)是否為前臺(tái)任務(wù);如果是,執(zhí)行步驟S32,否則,執(zhí)行步驟S33;

步驟S32,將該新生成的任務(wù)添加至前臺(tái)調(diào)度隊(duì)列中。

步驟S33,將該新生成的任務(wù)添加至后臺(tái)調(diào)度隊(duì)列中。

步驟S34,進(jìn)行任務(wù)調(diào)度時(shí),判斷前臺(tái)調(diào)度隊(duì)列是否為空,如果是,執(zhí)行步驟S35;如果否,執(zhí)行步驟S36;

當(dāng)前臺(tái)調(diào)度隊(duì)列為空的時(shí)候,則待調(diào)度的任務(wù)中不存在前臺(tái)任務(wù),待調(diào)度的任務(wù)均為后臺(tái)任務(wù);當(dāng)前臺(tái)調(diào)度隊(duì)列不為空時(shí),則待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)。

步驟S35,按照當(dāng)前操作系統(tǒng)預(yù)先配置的調(diào)度策略對(duì)后臺(tái)任務(wù)進(jìn)行調(diào)度。

步驟S36,以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度。

具體地,步驟S36可以按照固定比例或者動(dòng)態(tài)彈性比例,設(shè)置前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例;以設(shè)置后的CPU時(shí)間片分配比例,為前臺(tái)任務(wù)和后臺(tái)任務(wù)分配CPU時(shí)間片。

其中,固定比例在實(shí)際實(shí)現(xiàn)時(shí),可以根據(jù)操作系統(tǒng)進(jìn)行確定,以當(dāng)前的CPU時(shí)間片總數(shù)為100為例,優(yōu)選地前臺(tái)任務(wù)的CPU時(shí)間片分配為60至90之間;后臺(tái)任務(wù)的CPU時(shí)間片分配為10至40之間。

按照動(dòng)態(tài)彈性比例設(shè)置的方式,時(shí)間片的分配可以根據(jù)前臺(tái)任務(wù)與后臺(tái)任務(wù)的數(shù)量、任務(wù)性質(zhì)和預(yù)計(jì)執(zhí)行時(shí)間等因素彈性變動(dòng)。從而可以在保證前臺(tái)任務(wù)執(zhí)行速度的同時(shí)維持系統(tǒng)整體的流暢性。

上述步驟S36中,當(dāng)待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)時(shí),本實(shí)施例以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度;可以理解的是,當(dāng)待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)時(shí),也可以采用上述實(shí)施例2中步驟S25中的以時(shí)間上優(yōu)先調(diào)度前臺(tái)任務(wù)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度,本實(shí)施例對(duì)此不進(jìn)行限定。

本實(shí)施例提供的上述任務(wù)調(diào)度方法,通過(guò)調(diào)度隊(duì)列的方式區(qū)分前臺(tái)任務(wù)和后臺(tái)任務(wù),在有前臺(tái)任務(wù)時(shí),先調(diào)度前臺(tái)任務(wù),以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,保障了前臺(tái)任務(wù)的得以及時(shí)響應(yīng),且兼顧了后臺(tái)任務(wù)的執(zhí)行速度,一定程度上提升了用戶的體驗(yàn)度。

上述實(shí)施例2以設(shè)置任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)或后臺(tái)標(biāo)識(shí)的方式區(qū)分前后臺(tái)任務(wù),上述實(shí)施例3以將任務(wù)添加至前臺(tái)調(diào)度隊(duì)列或后臺(tái)調(diào)度隊(duì)列的方式區(qū)分前后臺(tái)任務(wù),在具體實(shí)現(xiàn)時(shí),二者也可以結(jié)合,即先為任務(wù)設(shè)置任務(wù)狀態(tài)的標(biāo)識(shí),再將設(shè)置標(biāo)識(shí)后的任務(wù)添加至對(duì)應(yīng)的調(diào)度隊(duì)列中,只要便于區(qū)分出前后臺(tái)任務(wù)即可,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。

通過(guò)上述實(shí)施例1至3提供的任務(wù)調(diào)度方法,可以靈活地區(qū)分前臺(tái)任務(wù)和后臺(tái)任務(wù),并針對(duì)前臺(tái)任務(wù)和后臺(tái)任務(wù)進(jìn)行多種形式的區(qū)別處理,實(shí)現(xiàn)前臺(tái)任務(wù)占優(yōu)的調(diào)度方式,提升了前臺(tái)任務(wù)的響應(yīng)速度,進(jìn)而提高了用戶的體驗(yàn)度。

考慮到在操作系統(tǒng)中,任務(wù)狀態(tài)有時(shí)不固定,可能會(huì)存在前臺(tái)與后臺(tái)之間的狀態(tài)切換,基于此,上述實(shí)施例提供的任務(wù)調(diào)度方法還可以包括:在任務(wù)執(zhí)行過(guò)程中,如果當(dāng)前任務(wù)由前臺(tái)任務(wù)切換為后臺(tái)任務(wù),將該當(dāng)前任務(wù)修改為后臺(tái)任務(wù);如果當(dāng)前任務(wù)由后臺(tái)任務(wù)切換為前臺(tái)任務(wù),將該當(dāng)前任務(wù)修改為前臺(tái)任務(wù)。

具體地,可以通過(guò)改變?nèi)蝿?wù)狀態(tài)的標(biāo)識(shí)或者任務(wù)對(duì)應(yīng)的調(diào)度隊(duì)列實(shí)現(xiàn)。以修改任務(wù)調(diào)度隊(duì)列為例,當(dāng)后臺(tái)任務(wù)切換到前臺(tái)時(shí),將任務(wù)添加到前臺(tái)任務(wù)調(diào)度隊(duì)列中,同時(shí)將其從后臺(tái)任務(wù)調(diào)度隊(duì)列刪除。當(dāng)前臺(tái)任務(wù)切換到后臺(tái)時(shí),將該任務(wù)添加到后臺(tái)任務(wù)調(diào)度隊(duì)列中,同時(shí)將該任務(wù)從前臺(tái)任務(wù)調(diào)度隊(duì)列中刪除。

通過(guò)上述方式,能夠及時(shí)進(jìn)行任務(wù)的前臺(tái)/后臺(tái)狀態(tài)切換,可以使與用戶實(shí)際體驗(yàn)關(guān)系最緊密的當(dāng)前任務(wù)的響應(yīng)更為及時(shí)。例如,當(dāng)用戶使用基于Android操作系統(tǒng)的智能手機(jī)時(shí),從桌面狀態(tài)進(jìn)入微信應(yīng)用程序,隨后從微信應(yīng)用程序切換回桌面,微信應(yīng)用程序的任務(wù)的狀態(tài)也隨之改變,即被設(shè)置的標(biāo)識(shí)或者存在的調(diào)度隊(duì)列隨之改變。因此,在進(jìn)入微信應(yīng)用程序時(shí),系統(tǒng)對(duì)該程序的任務(wù)優(yōu)先執(zhí)行。

可以理解,上述對(duì)前臺(tái)任務(wù)和后臺(tái)任務(wù)的區(qū)別處理,并不會(huì)影響前臺(tái)任務(wù)的各任務(wù)之間或者后臺(tái)任務(wù)的各任務(wù)的調(diào)度策略,因此上述任務(wù)在進(jìn)行調(diào)度時(shí),可以按照當(dāng)前操作系統(tǒng)預(yù)先配置的調(diào)度策略進(jìn)行。

實(shí)施例4

圖4是本發(fā)明一種任務(wù)調(diào)度裝置的結(jié)構(gòu)示意圖,該任務(wù)調(diào)度裝置包括檢查模塊410和任務(wù)調(diào)度模塊420,其中,各模塊的功能如下:

檢查模塊410,用于進(jìn)行任務(wù)調(diào)度時(shí)檢查待調(diào)度的任務(wù)中是否存在前臺(tái)任務(wù);

任務(wù)調(diào)度模塊420,用于當(dāng)檢查模塊410的檢查結(jié)果中存在前臺(tái)任務(wù)時(shí),按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度。

上述裝置通過(guò)在檢查處待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)時(shí),按照前臺(tái)任務(wù)占優(yōu)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度,實(shí)現(xiàn)了調(diào)度過(guò)程中前臺(tái)任務(wù)和后臺(tái)任務(wù)的區(qū)分處理,這種以前臺(tái)任務(wù)占優(yōu)的調(diào)度方式提升了前臺(tái)任務(wù)的響應(yīng)速度,進(jìn)而提高了用戶的體驗(yàn)度。

參見圖5所示的本發(fā)明所提供的任務(wù)調(diào)度裝置的另一種結(jié)構(gòu)示意圖,在上述圖4的基礎(chǔ)上還包括:前臺(tái)任務(wù)處理模塊510,用于當(dāng)新生成的任務(wù)為響應(yīng)用戶操作的任務(wù)或?qū)︼@示界面進(jìn)行操作的任務(wù)時(shí),設(shè)置新生成的任務(wù)的任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)和/或?qū)⑿律傻娜蝿?wù)添加至前臺(tái)調(diào)度隊(duì)列中。

相應(yīng)地,上述檢查模塊410還用于判斷待調(diào)度的任務(wù)中是否存在任務(wù)狀態(tài)為前臺(tái)標(biāo)識(shí)的任務(wù),如果存在,確定待調(diào)度的任務(wù)中存在前臺(tái)任務(wù);或者,檢查模塊還用于判斷前臺(tái)調(diào)度隊(duì)列是否為空,如果否,確定待調(diào)度的任務(wù)中存在前臺(tái)任務(wù)。

通過(guò)上述前臺(tái)任務(wù)處理模塊的處理方式,在任務(wù)調(diào)度時(shí),能夠很簡(jiǎn)單快速地識(shí)別出待調(diào)度的任務(wù)中是否有前臺(tái)任務(wù),進(jìn)而提升了任務(wù)調(diào)度的速度,更進(jìn)一步地保障了前臺(tái)任務(wù)響應(yīng)的及時(shí)性。

進(jìn)一步,上述任務(wù)調(diào)度模塊420還用于以時(shí)間上優(yōu)先調(diào)度前臺(tái)任務(wù)的方式對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度,或者,還用于以前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例的方式,對(duì)待調(diào)度的任務(wù)進(jìn)行調(diào)度。

進(jìn)一步,如圖6所示的任務(wù)調(diào)度裝置的另一種結(jié)構(gòu)示意圖,其中上述任務(wù)調(diào)度模塊420具體包括:分配比例設(shè)置單元610,用于按照固定比例或者動(dòng)態(tài)彈性比例,設(shè)置前臺(tái)任務(wù)的CPU時(shí)間片分配比例大于后臺(tái)任務(wù)的CPU時(shí)間片分配比例;分配單元620,用于以設(shè)置后的CPU時(shí)間片分配比例,為前臺(tái)任務(wù)和后臺(tái)任務(wù)分配CPU時(shí)間片。

上述任務(wù)調(diào)度模塊420還用于在前臺(tái)任務(wù)的各任務(wù)之間或者后臺(tái)任務(wù)的各任務(wù)之間進(jìn)行調(diào)度時(shí),按照上述裝置對(duì)應(yīng)的操作系統(tǒng)預(yù)先配置的調(diào)度策略進(jìn)行任務(wù)調(diào)度。

優(yōu)選地,參見圖7所示的本發(fā)明所提供的任務(wù)調(diào)度裝置的第四種結(jié)構(gòu)示意圖,在上述圖4的基礎(chǔ)上還包括:任務(wù)切換模塊710,用于當(dāng)執(zhí)行過(guò)程中,當(dāng)前任務(wù)由前臺(tái)任務(wù)切換為后臺(tái)任務(wù)時(shí),將當(dāng)前任務(wù)修改為后臺(tái)任務(wù);或者,當(dāng)前任務(wù)由后臺(tái)任務(wù)切換為前臺(tái)任務(wù)時(shí),將當(dāng)前任務(wù)修改為前臺(tái)任務(wù)。

上述圖4至圖7給出的任務(wù)調(diào)度裝置的結(jié)構(gòu)示意圖,僅示意出了任務(wù)調(diào)度裝置的幾種模塊劃分方式,基于上述任務(wù)狀態(tài)的標(biāo)識(shí)方式和調(diào)度隊(duì)列的方式區(qū)分前后臺(tái)任務(wù),本實(shí)施例還提供圖8所示的任務(wù)調(diào)度裝置的第五種結(jié)構(gòu)示意圖,該任務(wù)調(diào)度裝置包括以下模塊:

任務(wù)調(diào)度策略決策模塊810包括:前臺(tái)任務(wù)調(diào)度策略子模塊812和后臺(tái)任務(wù)調(diào)度策略子模塊814,其中,前臺(tái)任務(wù)調(diào)度策略子模塊812用于對(duì)新生成的前臺(tái)任務(wù)進(jìn)行注冊(cè);后臺(tái)任務(wù)調(diào)度策略子模塊814用于對(duì)新生成的后臺(tái)任務(wù)進(jìn)行注冊(cè)。前臺(tái)任務(wù)調(diào)度策略子模塊812和后臺(tái)任務(wù)調(diào)度策略子模塊814可以分別對(duì)應(yīng)一個(gè)任務(wù)池,注冊(cè)的任務(wù)將存入其對(duì)應(yīng)的任務(wù)池中。

任務(wù)調(diào)度模塊820,用于對(duì)前臺(tái)任務(wù)調(diào)度策略子模塊812和后臺(tái)任務(wù)調(diào)度策略子模塊814注冊(cè)的任務(wù)進(jìn)行調(diào)度,為了及時(shí)響應(yīng)前臺(tái)任務(wù),本實(shí)施例中的任務(wù)調(diào)度模塊820以前臺(tái)任務(wù)占優(yōu)的方式對(duì)上述注冊(cè)的任務(wù)進(jìn)行調(diào)度。

上述調(diào)度裝置將新生成的任務(wù)分別注冊(cè)至兩個(gè)組中,即前臺(tái)任務(wù)調(diào)度策略子模塊812和后臺(tái)任務(wù)調(diào)度策略子模塊814中,對(duì)于前臺(tái)任務(wù)調(diào)度策略子模塊812或后臺(tái)任務(wù)調(diào)度策略子模塊814內(nèi)部的任務(wù),可以按照預(yù)先配置的調(diào)度策略進(jìn)行組內(nèi)任務(wù)的調(diào)度。例如,在Linux操作系統(tǒng)中,可以使用CFS組調(diào)度策略進(jìn)行任務(wù)調(diào)度。

在調(diào)度過(guò)程中,當(dāng)后臺(tái)任務(wù)切換到前臺(tái)時(shí),將該任務(wù)注冊(cè)到前臺(tái)任務(wù)調(diào)度策略子模塊,同時(shí)將該任務(wù)在后臺(tái)任務(wù)調(diào)度策略子模塊卸載;當(dāng)前臺(tái)任務(wù)切換到后臺(tái)時(shí),將該任務(wù)注冊(cè)到后臺(tái)任務(wù)調(diào)度策略子模塊,同時(shí)將該任務(wù)在前臺(tái)任務(wù)調(diào)度策略子模塊卸載。

上述任務(wù)調(diào)度模塊820中,前臺(tái)任務(wù)和后臺(tái)任務(wù)占用的CPU時(shí)間片有幾種方式:1)只有前臺(tái)任務(wù)執(zhí)行完,才執(zhí)行后臺(tái)任務(wù)調(diào)度策略子模塊調(diào)度后臺(tái)任務(wù);2)所有前臺(tái)任務(wù)和所有后臺(tái)任務(wù)占用的CPU時(shí)間片是固定比例;3)所有前臺(tái)任務(wù)和所有后臺(tái)任務(wù)占有的CPU時(shí)間片比例是一個(gè)彈性的窗口。只是后兩種中,前臺(tái)任務(wù)占有的CPU時(shí)間片比例大于后臺(tái)任務(wù)占有的CPU時(shí)間片比例。

上述圖8所示調(diào)度裝置中,由于前臺(tái)任務(wù)和后臺(tái)任務(wù)在不同的任務(wù)調(diào)度策略子模塊中,前臺(tái)任務(wù)所占用的CPU時(shí)間就不會(huì)受到后臺(tái)很多任務(wù)的影響,進(jìn)而保障了前臺(tái)任務(wù)享有更多的CPU運(yùn)行時(shí)間,因此提升了前臺(tái)任務(wù)的響應(yīng)速度,提高了用戶的體驗(yàn)度。

本發(fā)明實(shí)施例所提供的裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡(jiǎn)要描述,方法實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。

參見圖9,本發(fā)明實(shí)施例還提供一種任務(wù)調(diào)度設(shè)備920,包括:處理器90,存儲(chǔ)器91,總線92和通信接口93,上述處理器90、通信接口93和存儲(chǔ)器91通過(guò)總線92連接;處理器90用于執(zhí)行存儲(chǔ)器91中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。

其中,存儲(chǔ)器91可能包含高速隨機(jī)存取存儲(chǔ)器(RAM:Random Access Memory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。通過(guò)至少一個(gè)通信接口93(可以是有線或者無(wú)線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)元與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。

總線92可以是ISA總線、PCI總線或EISA總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖9中僅用一個(gè)雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。

其中,存儲(chǔ)器91用于存儲(chǔ)程序,處理器90在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的過(guò)程定義的裝置所執(zhí)行的方法可以應(yīng)用于處理器90中,或者由處理器90實(shí)現(xiàn)。

處理器90可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)處理器90中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器90可以是通用處理器,包括中央處理器(Central Processing Unit,簡(jiǎn)稱CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)等;還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器91,處理器90讀取存儲(chǔ)器91中的信息,結(jié)合其硬件完成上述方法的步驟。

附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,該模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。

在本申請(qǐng)所提供的幾個(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ī)械或其它的形式。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1