[發明專利]一種任務監控方法、系統、設備以及介質在審
| 申請號: | 202010923947.5 | 申請日: | 2020-09-04 |
| 公開(公告)號: | CN112069030A | 公開(公告)日: | 2020-12-11 |
| 發明(設計)人: | 張一罡;張璐 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 楊帆;宋薇薇 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 任務 監控 方法 系統 設備 以及 介質 | ||
本發明公開了一種任務監控方法,包括以下步驟:響應于任務發起控制器的線程向任務執行控制器發送任務指令,利用所述線程獲取所述任務執行控制器執行所述任務指令對應的任務時記錄的狀態文件;讀取所述狀態文件中的任務的執行狀態;響應于所述狀態文件中任務的執行狀態為執行完成,根據所述狀態文件中的返回碼判斷所述任務執行控制器對應的任務是否執行成功;響應于執行失敗,結束所述線程。本發明還公開了一種系統、計算機設備以及可讀存儲介質。本發明提供的方案實現了在多控制器的環境下,控制器可以向其他控制器發起任務請求,并監控目標控制器的執行狀態,從而能夠根據執行狀態決定下一步的動作,達到了多控制器協同工作的效果。
技術領域
本發明涉及控制器領域,具體涉及一種任務監控方法、系統、設備以及存儲介質。
背景技術
多控制器的存儲場景下,某個控制器上的存儲系統,可能需要和另外一個控制器上的存儲系統進行指令交互。當某個控制器A,向另外一個控制器B發出任務指令后,接收到任務指令的控制器B將創建一個線程去執行這個任務。而發出任務指令的控制器A,需要等待控制器B完成任務才能繼續往下執行。這就需要控制器A能夠監控控制器B的線程執行狀態,當控制器B線程執行完畢時,控制器A要能夠知道控制器B線程已經執行完畢這一結果,這樣控制器A才能繼續往下執行。并且在某些情況下,控制器A需要知道控制器B線程執行的情況,比如線程執行過程中是否發生過錯誤等等。對于控制器B來說,自己并不具有主動通知控制器A的能力。因為任務本身并不會去記錄發起者的信息,所以需要控制器A主動查詢控制器B的任務狀態。而控制器A只能夠根據控制器B線程反饋的信息知道控制B任務已經執行完畢,但是不能夠查詢任務的執行進度、狀態等信息。
發明內容
有鑒于此,為了克服上述問題的至少一個方面,本發明實施例提出一種任務監控方法,包括以下步驟:
響應于任務發起控制器的線程向任務執行控制器發送任務指令,利用所述線程獲取所述任務執行控制器執行所述任務指令對應的任務時記錄的狀態文件;
讀取所述狀態文件中的任務的執行狀態;
響應于所述狀態文件中任務的執行狀態為執行完成,根據所述狀態文件中的返回碼判斷所述任務執行控制器對應的任務是否執行成功;
響應于執行失敗,結束所述線程。
在一些實施例中,響應于任務發起控制器的線程向任務執行控制器發送任務指令,利用所述線程獲取所述任務執行控制器執行所述任務指令對應的任務時記錄的狀態文件,進一步包括:
所述任務執行控制器響應于接收到所述任務指令,記錄執行所述任務的每一個階段時對應的信息;
響應于所述任務執行控制器在其中一個階段執行失敗,將所述狀態文件中所述任務的執行狀態更新為執行完成,并將所述返回碼設置為執行失敗的原因對應的返回碼。
在一些實施例中,還包括:
響應于所述任務執行控制器正在執行所述任務的其中一個階段,將所述狀態文件中所述任務的執行狀態更新為未執行完成。
在一些實施例中,還包括:
響應于所述每一個階段均執行成功,將所述狀態文件中所述任務的執行狀態更新為執行完成,并將所述返回碼設置為執行成功對應的返回碼。
在一些實施例中,利用所述線程獲取所述任務執行控制器執行所述任務指令對應的任務時記錄的狀態文件,進一步包括:
獲取所述狀態文件前,判斷是否有其他線程處于上鎖狀態;
響應于沒有其他線程處于上鎖狀態,所述線程利用上鎖服務進行上鎖;
響應于檢測到已獲取所述狀態文件,利用回調函數將所述線程喚起以利用釋放鎖服務將鎖釋放并讀取所述狀態文件的內容。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010923947.5/2.html,轉載請聲明來源鉆瓜專利網。





