[發(fā)明專利]一種支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 201711436091.3 | 申請日: | 2017-12-26 |
| 公開(公告)號: | CN108037991A | 公開(公告)日: | 2018-05-15 |
| 發(fā)明(設(shè)計)人: | 余陽;何勇標 | 申請(專利權(quán))人: | 中山大學(xué) |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 林麗明 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 支持 作業(yè) 依賴 關(guān)系 定時 調(diào)度 方法 系統(tǒng) | ||
1.一種支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:包括以下步驟:
S1.調(diào)度器從存儲單元中加載作業(yè)相關(guān)數(shù)據(jù),包括作業(yè)信息列表和作業(yè)依賴關(guān)系;
S2.調(diào)度器根據(jù)作業(yè)依賴關(guān)系將作業(yè)信息列表轉(zhuǎn)化為作業(yè)有向無環(huán)圖;
S3.調(diào)度器將作業(yè)有向無環(huán)圖作為副本生成任務(wù)有向無環(huán)圖;
S4.調(diào)度器對任務(wù)有向無環(huán)圖中節(jié)點入度為非0的任務(wù)進行依賴調(diào)度;
S5.調(diào)度器根據(jù)任務(wù)觸發(fā)時間對任務(wù)有向無環(huán)圖中節(jié)點入度為0的任務(wù)進行定時調(diào)度;
S6.執(zhí)行單元執(zhí)行上述任務(wù)后,向調(diào)度器反饋相關(guān)的執(zhí)行結(jié)果。
2.根據(jù)權(quán)利要求1所述的支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:所述步驟S2轉(zhuǎn)化為作業(yè)有向無環(huán)圖的具體過程如下:
S11.根據(jù)作業(yè)依賴關(guān)系,將作業(yè)列表轉(zhuǎn)化為作業(yè)圖結(jié)構(gòu),其中作業(yè)圖結(jié)構(gòu)中的每個節(jié)點代表了對應(yīng)的作業(yè)信息;
S12.判斷作業(yè)圖結(jié)構(gòu)是否存在環(huán),如果存在,則繼續(xù)執(zhí)行步驟S13,否則轉(zhuǎn)移到步驟S14;
S13:獲取作業(yè)圖結(jié)構(gòu)中環(huán)所在的子連通圖,移除該子連通圖,使作業(yè)圖結(jié)構(gòu)是合法的,同時報警提示作業(yè)依賴關(guān)系異常;
S14:獲取合法的作業(yè)有向無環(huán)圖。
3.根據(jù)權(quán)利要求2所述的支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:所述步驟S11將作業(yè)列表轉(zhuǎn)化為作業(yè)圖結(jié)構(gòu)的具體過程如下:
S111.構(gòu)建空的哈希映射數(shù)據(jù)結(jié)構(gòu),其中映射的鍵表示一個作業(yè),映射的值表示依賴作業(yè)的集合;
S112.遍歷所有的作業(yè),將其添加到哈希映射數(shù)據(jù)結(jié)構(gòu)中;
S113.遍歷所有的作業(yè)依賴關(guān)系,對任一依賴關(guān)系(x:y),表示作業(yè)y在作業(yè)x之后調(diào)度,將作業(yè)y添加到作業(yè)x對應(yīng)的依賴作業(yè)集合中,此時哈希映射數(shù)據(jù)結(jié)構(gòu)表示為作業(yè)圖結(jié)構(gòu)。
4.根據(jù)權(quán)利要求2所述的支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:所述步驟S12中,對作業(yè)圖結(jié)構(gòu)進行拓撲排序,將排序后的節(jié)點數(shù)與作業(yè)圖結(jié)構(gòu)的節(jié)點數(shù)進行比較來判斷作業(yè)圖結(jié)構(gòu)是否有環(huán),如果排序后的節(jié)點數(shù)等于作業(yè)圖結(jié)構(gòu)的節(jié)點數(shù),則圖結(jié)構(gòu)無環(huán),如果排序后的節(jié)點數(shù)小于作業(yè)圖結(jié)構(gòu)的節(jié)點數(shù),則圖結(jié)構(gòu)有環(huán)。
5.根據(jù)權(quán)利要求2所述的支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:所述步驟S13獲取作業(yè)圖結(jié)構(gòu)中環(huán)所在的子連通圖的具體過程如下:
S131.根據(jù)作業(yè)圖結(jié)構(gòu)的拓撲排序獲取所有環(huán)及其連通的節(jié)點;
S132.將環(huán)及其連通的節(jié)點添加到集合中;
S133.遍歷集合中的所有節(jié)點,將連通該節(jié)點的所有節(jié)點添加到集合中,同時也要遍歷添加到集合中的新節(jié)點,將連通新節(jié)點的所有節(jié)點添加到集合中;
S134.遍歷完所有節(jié)點后,獲得環(huán)所在的子連通圖,即集合中所有節(jié)點;
S135.移除作業(yè)圖結(jié)構(gòu)中包含在集合內(nèi)的所有節(jié)點,至此,得到去環(huán)后的有向無環(huán)圖。
6.根據(jù)權(quán)利要求1所述的支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:所述步驟S2將作業(yè)有向無環(huán)圖作為副本生成任務(wù)有向無環(huán)圖的具體過程如下:
S21. 對于任一個作業(yè)組,獲取作業(yè)有向無環(huán)圖中該作業(yè)組的第一個執(zhí)行的作業(yè),在當(dāng)前系統(tǒng)時間基礎(chǔ)上,通過作業(yè)的觸發(fā)時間配置計算得到該作業(yè)的執(zhí)行時間;
S22.遍歷作業(yè)有向無環(huán)圖的其他節(jié)點,在第一個執(zhí)行作業(yè)的執(zhí)行時間基礎(chǔ)上,通過該作業(yè)的觸發(fā)時間配置計算得到該作業(yè)的執(zhí)行時間;
S23.按照作業(yè)有向無環(huán)圖的數(shù)據(jù)結(jié)構(gòu)以及對應(yīng)作業(yè)的執(zhí)行時間克隆出任務(wù)有向無環(huán)圖。
7.根據(jù)權(quán)利要求1所述的支持作業(yè)依賴關(guān)系的定時作業(yè)調(diào)度方法,其特征在于:所述步驟S5進行定時調(diào)度的具體過程如下:
S51.獲取任務(wù)有向無環(huán)圖中節(jié)點入度為0的任務(wù);
S52.按照任務(wù)的觸發(fā)時間對任務(wù)進行排序;
S53.比較當(dāng)前系統(tǒng)時間和任務(wù)的觸發(fā)時間,篩選出當(dāng)前需要調(diào)度執(zhí)行的任務(wù);
S54.將滿足觸發(fā)時間的任務(wù)分配給執(zhí)行單元,由執(zhí)行單元來執(zhí)行任務(wù)程序;
S55.調(diào)度器分配完任務(wù)之后,進入休眠狀態(tài),等待下次定時調(diào)度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學(xué),未經(jīng)中山大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711436091.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





