[發(fā)明專利]用于調(diào)度任務(wù)的方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201610890352.8 | 申請(qǐng)日: | 2016-10-12 |
| 公開(公告)號(hào): | CN107943577B | 公開(公告)日: | 2022-03-04 |
| 發(fā)明(設(shè)計(jì))人: | 王金賀;倪煜 | 申請(qǐng)(專利權(quán))人: | 上海優(yōu)揚(yáng)新媒信息技術(shù)有限公司 |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50;G06F9/48 |
| 代理公司: | 北京英賽嘉華知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11204 | 代理人: | 王達(dá)佐;馬曉亞 |
| 地址: | 201210 上海市嘉*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 調(diào)度 任務(wù) 方法 裝置 | ||
本申請(qǐng)公開了用于調(diào)度任務(wù)的方法和裝置。所述方法的一具體實(shí)施方式包括:獲取至少一個(gè)任務(wù)和與各所述任務(wù)對(duì)應(yīng)的屬性信息,其中,所述屬性信息包括各所述任務(wù)的任務(wù)類別;將各所述任務(wù)的任務(wù)類別與預(yù)配置文件中存儲(chǔ)的目標(biāo)任務(wù)類別進(jìn)行匹配,確定與各所述任務(wù)對(duì)應(yīng)的中央處理器CPU核心標(biāo)識(shí),其中,所述預(yù)配置文件中存儲(chǔ)有目標(biāo)任務(wù)類別以及與所述目標(biāo)任務(wù)類別對(duì)應(yīng)的CPU核心標(biāo)識(shí);將各所述任務(wù)調(diào)度到與其對(duì)應(yīng)的CPU核心標(biāo)識(shí)所指示的CPU核心。該實(shí)施方式提高了CPU利用率和任務(wù)執(zhí)行效率。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及任務(wù)調(diào)度技術(shù)領(lǐng)域,尤其涉及用于調(diào)度任務(wù)的方法和裝置。
背景技術(shù)
公司內(nèi)存在大量使用PHP(PHP:Hypertext Preprocessor,超文本預(yù)處理器)作為核心技術(shù)的場(chǎng)景。目前,PHP的主要引擎通常為Zend引擎和HHVM(HipHop Virtual Machine)引擎。在這里,Zend引擎可以是一個(gè)開源腳本引擎(一個(gè)虛擬機(jī)),Zend引擎可以對(duì)腳本文件進(jìn)行詞法分析和/或語(yǔ)法分析。HHVM引擎可以是PHP執(zhí)行引擎,HHVM引擎可以將PHP代碼轉(zhuǎn)換成高級(jí)別的字節(jié)碼(通常稱為中間語(yǔ)言),然后在運(yùn)行時(shí)通過JIT(just in time,即時(shí))編譯器將這些字節(jié)碼轉(zhuǎn)換為64位的機(jī)器碼。
然而,用于執(zhí)行單一進(jìn)程或線程中的各任務(wù)的CPU(Central Processing Unit,中央處理器)為多核CPU時(shí),現(xiàn)有的PHP的引擎(比如HHVM或Zend引擎)均未能實(shí)現(xiàn)對(duì)多核CPU的充分利用,從而存在著CPU資源利用率低、任務(wù)執(zhí)行效率低的問題。
發(fā)明內(nèi)容
本申請(qǐng)的目的在于提出一種改進(jìn)的用于調(diào)度任務(wù)的方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請(qǐng)?zhí)峁┝艘环N用于調(diào)度任務(wù)的方法,所述方法包括:獲取至少一個(gè)任務(wù)和與各所述任務(wù)對(duì)應(yīng)的屬性信息,其中,所述屬性信息包括各所述任務(wù)的任務(wù)類別;將各所述任務(wù)的任務(wù)類別與預(yù)配置文件中存儲(chǔ)的目標(biāo)任務(wù)類別進(jìn)行匹配,確定與各所述任務(wù)對(duì)應(yīng)的中央處理器CPU核心標(biāo)識(shí),其中,所述預(yù)配置文件中存儲(chǔ)有目標(biāo)任務(wù)類別以及與所述目標(biāo)任務(wù)類別對(duì)應(yīng)的CPU核心標(biāo)識(shí);將各所述任務(wù)調(diào)度到與其對(duì)應(yīng)的CPU核心標(biāo)識(shí)所指示的CPU核心。
在一些實(shí)施例中,所述屬性信息還包括各所述任務(wù)的輸入?yún)?shù)和輸出參數(shù),以及在所述將各所述任務(wù)調(diào)度到與其對(duì)應(yīng)的CPU核心標(biāo)識(shí)所指示的CPU核心之后,所述方法還包括:對(duì)于每一個(gè)CPU核心,對(duì)于調(diào)度到該CPU核心的各個(gè)任務(wù)中的每一個(gè)任務(wù),按照預(yù)設(shè)的任務(wù)執(zhí)行先后順序,確定該任務(wù)是否有前繼任務(wù),響應(yīng)于該任務(wù)沒有前繼任務(wù),將該任務(wù)添加到對(duì)應(yīng)的任務(wù)隊(duì)列,其中,所述前繼任務(wù)為先于該任務(wù)執(zhí)行并且輸出參數(shù)與該任務(wù)的輸入?yún)?shù)相關(guān)聯(lián)的任務(wù);從所述任務(wù)隊(duì)列的隊(duì)首開始依次調(diào)度每一個(gè)任務(wù),響應(yīng)于當(dāng)前執(zhí)行的任務(wù)發(fā)出了輸入/輸出請(qǐng)求,暫停執(zhí)行該任務(wù),將該任務(wù)移動(dòng)到所述任務(wù)隊(duì)列的隊(duì)尾,并繼續(xù)調(diào)度所述任務(wù)隊(duì)列中的各任務(wù)。
在一些實(shí)施例中,所述從所述任務(wù)隊(duì)列的隊(duì)首開始依次調(diào)度每一個(gè)任務(wù),響應(yīng)于當(dāng)前執(zhí)行的任務(wù)發(fā)出了輸入/輸出請(qǐng)求,暫停執(zhí)行該任務(wù),將該任務(wù)移動(dòng)到所述任務(wù)隊(duì)列的隊(duì)尾,并繼續(xù)調(diào)度下一執(zhí)行順序的任務(wù),包括:響應(yīng)于當(dāng)前執(zhí)行的任務(wù)執(zhí)行完成,將該任務(wù)從所述任務(wù)隊(duì)列中移除,并確定該任務(wù)是否有后繼任務(wù),響應(yīng)于該任務(wù)有后繼任務(wù),進(jìn)一步確定該任務(wù)的后繼任務(wù)對(duì)應(yīng)的所有前繼任務(wù)是否均已執(zhí)行完成,若是,將該任務(wù)的后繼任務(wù)添加到所述任務(wù)隊(duì)列,并繼續(xù)調(diào)度所述任務(wù)隊(duì)列中的各任務(wù),其中,所述后繼任務(wù)為后于該任務(wù)執(zhí)行并且輸入?yún)?shù)與該任務(wù)的輸出參數(shù)相關(guān)聯(lián)的任務(wù)。
在一些實(shí)施例中,所述方法包括:對(duì)于在執(zhí)行過程中發(fā)出輸入/輸出請(qǐng)求并且被暫停執(zhí)行的每一個(gè)任務(wù),當(dāng)再次調(diào)度該任務(wù)時(shí),響應(yīng)于該任務(wù)發(fā)出的輸入/輸出請(qǐng)求有返回結(jié)果并且等待時(shí)間未超出對(duì)應(yīng)的超時(shí)閾值,繼續(xù)執(zhí)行該任務(wù)。
在一些實(shí)施例中,所述方法包括:對(duì)于在執(zhí)行過程中發(fā)出輸入/輸出請(qǐng)求并且被暫停執(zhí)行的每一個(gè)任務(wù),當(dāng)再次調(diào)度該任務(wù)時(shí),響應(yīng)于該任務(wù)發(fā)出的輸入/輸出請(qǐng)求沒有返回結(jié)果并且等待時(shí)間未超出對(duì)應(yīng)的超時(shí)閾值,繼續(xù)暫停執(zhí)行該任務(wù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海優(yōu)揚(yáng)新媒信息技術(shù)有限公司,未經(jīng)上海優(yōu)揚(yáng)新媒信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610890352.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 旅游車輛調(diào)度監(jiān)控方法及其系統(tǒng)
- 一種用戶隊(duì)列調(diào)度的方法和裝置
- 一種資源調(diào)度的方法、裝置和過濾式調(diào)度器
- 一種調(diào)度方法和裝置
- 一種調(diào)度終端動(dòng)態(tài)切換調(diào)度組歸屬關(guān)系的方法及裝置
- 用戶調(diào)度方法、裝置、基站和存儲(chǔ)介質(zhì)
- 一種食材的調(diào)度系統(tǒng)和方法
- 一種資源調(diào)度的方法、裝置和過濾式調(diào)度器
- 任務(wù)調(diào)度方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種自動(dòng)化調(diào)度系統(tǒng)和調(diào)度方法
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價(jià)值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)
- 一種自動(dòng)分配和推送的任務(wù)管理平臺(tái)及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲(chǔ)介質(zhì)
- 基于會(huì)話的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





