[發明專利]一種任務執行的方法及裝置有效
| 申請號: | 201711049658.1 | 申請日: | 2017-10-31 |
| 公開(公告)號: | CN109725989B | 公開(公告)日: | 2020-07-31 |
| 發明(設計)人: | 林文珍 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京晉德允升知識產權代理有限公司 11623 | 代理人: | 楊移 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 任務 執行 方法 裝置 | ||
本申請公開了一種任務執行方法及裝置,在接收到任務請求時,可先構建初始的DAG圖,即生成DAG圖的葉子節點,之后將葉子節點作為待執行節點,執行其對應的任務并得到執行結果,在判斷所述任務請求對應的任務未執行完畢時,根據執行結果確定下游節點作為待執行節點,并繼續執行對應的任務,直至所述任務請求對應的任務執行完畢。
技術領域
本申請涉及信息技術領域,尤其涉及一種任務執行的方法及裝置。
背景技術
有向無環圖(Directed acyclic graph,DAG),是一種描述項目、系統、任務流程等的進行過程的有效方法,如圖1所示。
圖1為DAG圖的示意圖,其中可見多個節點以及連接節點的箭頭。以任務流程的DAG圖為例,圖1中的各節點對應的任務為任務流程中的不同步驟,箭頭表示在執行完上一步之后,下一步需要執行哪個步驟。其中,箭頭起始節點為上游節點,箭頭結束節點為下游節點。
在現有技術中,通過DAG圖可以將復雜的任務流程,簡化為多個子任務來執行。現有DAG圖都是任務執行前預先設置好的,也就是說任務中各步驟需要執行什么以及如何執行是預先確定的。于是,當需要執行復雜的任務時,可通過預先確定的該任務對應的DAG圖,輔助該任務的執行(即,將復雜任務簡化為多個子任務執行)。
但是,在某些任務場景中,只有當上游節點對應的任務執行完畢之后,才可根據執行結果確定下游節點對應的任務,使得該任務的DAG圖無法預先確定。例如,假設當需要確定多個數據中數值最大的數據時,可根據執行該任務所需的數據生成該任務對應的DAG圖中的各節點。但是由于輸入數據的具體數值并不能預先確定,所以各節點對應的任務的執行結果也是不能預先確定的。這就使得無法預先確定該任務對應的DAG圖,也就無法通過DAG圖輔助執行任務的方式執行任務。
基于現有技術,本說明書提供一種新的任務執行的方法及裝置。
發明內容
本說明書實施例提供一種任務執行的方法及裝置,用于解決當任務場景中,需要根據上游節點的任務執行結果生成下游節點時,難以通過DAG圖將復雜任務拆分為簡單的子任務的方式執行任務的問題。
本說明書實施例采用下述技術方案:
一種任務執行的方法,包括:
接收任務請求;
根據所述任務請求生成有向無環圖DAG的葉子節點,以及確定所述DAG圖的節點總數;
將所述葉子節點作為待執行節點,以及確定所述待執行節點對應的任務并執行,得到執行結果;
根據已執行了對應的任務的節點數量以及所述節點總數,判斷所述任務請求對應的任務是否執行完畢;
若是,則將所述執行結果作為任務結果;
若否,則根據所述執行結果生成下游節點,并將所述下游節點作為待執行節點,繼續執行待執行節點對應的任務,直至確定所述任務請求對應的任務執行完畢為止。
一種任務執行的裝置,包括:
接收模塊,接收任務請求;
確定模塊,根據所述任務請求生成有向無環圖DAG的葉子節點,以及確定所述DAG圖的節點總數;
執行模塊,將所述葉子節點作為待執行節點,以及確定所述待執行節點對應的任務并執行,得到執行結果;
判斷生成模塊,根據已執行了對應的任務的節點數量以及所述節點總數,判斷所述任務請求對應的任務是否執行完畢,若是,則將所述執行結果作為任務結果,若否,則根據所述執行結果生成下游節點,并由所述執行模塊將所述下游節點作為待執行節點,繼續執行待執行節點對應的任務,直至確定所述任務請求對應的任務執行完畢為止。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711049658.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種任務調度方法和裝置
- 下一篇:進程控制方法和裝置





