一種任務執行方法和裝置的制造方法
【技術領域】
[0001 ]本發明涉及網絡通信技術領域,尤其涉及一種任務執行方法和裝置。
【背景技術】
[0002]隨著視頻監控行業的快速發展,客戶希望提供一個綜合的任務管理平臺,而不是簡單的提供單一的視頻監控服務。由于設備接入種類多,告警聯動任務執行和巡檢任務(比如設備巡檢任務、圖形質量巡檢任務、紅外巡檢任務和設備數據智能分析巡檢任務等)執行需要對各種設備進行操作(比如獲取信息和控制設備等)。
[0003]目前告警聯動任務執行和巡檢任務執行都是在開發人員事先知道需要執行的動作、事先知道任務邏輯的情況下,在代碼里實現相關任務流程,任務和功能比較單一。
[0004]上述方法存在以下缺點:
[0005]1、需要專業的開發人員開發代碼來完成相關任務的執行。
[0006]2、只能適用于某塊領域。
[0007]3、如果動作流程修改,需要開發人員修改相關代碼。
[0008]4、如果有新的任務加入還需要修改相關任務代碼,維護、開發成本高,響應速度慢。
[0009]5、沒有統一便捷可視化的操作界面,需要為每種任務開發獨立的界面。
[0010]綜上所示,上述這種傳統的方法已經無法滿足客戶的要求,無法達到動作可以靈活配置、動態配置、無限擴展的目的。
【發明內容】
[0011]本發明實施例提供一種任務執行方法和裝置,從而實現動作的靈活配置和無限擴展。
[0012]本發明實施例采用以下技術方案:
[0013]第一方面,提供了一種任務執行方法,應用于視頻監控系統中,所述方法包括:
[0014]接收任務觸發指令后,確定所述任務對應的動作列表;其中,所述動作列表中包含執行所述任務時所需的動作,所述動作按執行順序排列,且每個動作表征所述任務在執行過程中的一個進程;
[0015]根據預先設置的執行規則以及所述執行順序,依次執行所述動作列表中的每個動作。
[0016]其中,所述執行規則包括下述規則中的至少一個:
[0017]判斷所述動作是否在執行時間內;
[0018]執行所述動作后是否需要等待執行結果;
[0019]接收到所述動作的執行結果后,判斷所述執行結果是否正確;
[0020]前一個動作執行完畢后,是否需要等待預設時間后再執行下一個動作。
[0021]其中,根據預先設置的執行規則以及所述執行順序,依次執行所述動作列表中的每個動作,具體包括:
[0022]針對所述動作列表中的任意一個動作執行第一操作,所述第一操作包括:
[0023]判斷所述動作是否在執行時間內;
[0024]當判斷出所述動作不在執行時間內時,執行預先設置的指定操作;其中,所述指定操作為:停止執行所述動作列表中的動作,或者繼續針對所述動作的下一個動作執行所述第一操作;
[0025]當判斷出所述動作在執行時間內時,執行所述動作,并在執行完所述動作且不需要等待所述動作的執行結果時,根據所述執行順序,繼續針對所述動作的下一個動作執行所述第一操作;
[0026]在執行完所述動作且需要等待所述執行結果時,等待直至獲得所述執行結果;以及
[0027]在所述執行結果不正確時,執行所述指定操作;
[0028]在所述執行結果正確且需要等待預設時間后再執行所述動作的下一個動作時,等待所述預設時間后再繼續針對所述動作的下一個動作執行所述第一操作;
[0029]在所述執行結果正確且不需要等待所述預設時間后再執行所述動作的下一個動作時,針對所述動作的下一個動作執行所述第一操作。
[0030]其中,確定所述任務對應的動作列表,具體包括:
[0031 ]從預先配置的動作數據庫中,獲取所述任務對應的動作列表。
[0032]其中,從預先配置的動作數據庫中,獲取所述任務對應的動作列表,具體包括:
[0033]根據預先存儲的所述任務與執行所述任務時所需的動作的對應關系,從預先配置的動作數據庫中,獲取所述任務對應的動作列表。
[0034]第二方面,提供了一種動作執行裝置,應用于視頻監控系統中,所述裝置包括:
[0035]動作列表確定單元,用于接收任務觸發指令后,確定所述任務對應的動作列表;其中,所述動作列表中包含執行所述任務時所需的動作,所述動作按執行順序排列,且每個動作表征所述任務在執行過程中的一個進程;
[0036]執行單元,用于根據預先設置的執行規則以及所述執行順序,依次執行所述動作列表確定單元確定出的動作列表中的每個動作。
[0037]其中,所述執行規則包括下述規則中的至少一個:
[0038]判斷所述動作是否在執行時間內;
[0039]執行所述動作后是否需要等待執行結果;
[0040]接收到所述動作的執行結果后,判斷所述執行結果是否正確;
[0041]前一個動作執行完畢后,是否需要等待預設時間后再執行下一個動作。
[0042]其中,所述執行單元,具體用于:
[0043]針對所述動作列表中的任意一個動作執行第一操作,所述第一操作包括:
[0044]判斷所述動作是否在執行時間內;
[0045]當判斷出所述動作不在執行時間內時,停止執行所述動作列表中的動作,或者繼續針對所述動作的下一個動作執行所述第一操作;
[0046]當判斷出所述動作在執行時間內時,執行所述動作,并在執行完所述動作且不需要等待所述動作的執行結果時,根據所述執行順序,繼續針對所述動作的下一個動作執行所述第一操作;
[0047]在執行完所述動作且需要等待所述執行結果時,等待直至獲得所述執行結果;以及
[0048]在所述執行結果不正確時,停止執行所述動作列表中的動作,或者根據所述執行順序,繼續針對所述動作的下一個動作執行所述第一操作;
[0049]在所述執行結果正確且需要等待預設時間后再執行所述動作的下一個動作時,等待所述預設時間后再繼續針對所述動作的下一個動作執行所述第一操作;
[0050]在所述執行結果正確且不需要等待所述預設時間后再執行所述動作的下一個動作時,針對所述動作的下一個動作執行所述第一操作。
[0051]其中,所述動作列表確定單元,具體用于:
[0052]從預先配置的動作數據庫中,獲取所述任務對應的動作列表。
[0053]其中,所述動作列表確定單元,具體用于:
[0054]根據預先存儲的所述任務與執行所述任務時所需的動作的對應關系,從預先配置的動作數據庫中,獲取所述任務對應的動作列表。
[0055]本發明實施例的有益效果如下:
[0056]本發明實施例與現有技術相比,無需針對每個任務單獨編寫流程代碼,當接收到任務觸發指令時,只需要確定出該任務時對應的動作列表,再根據預先設置的執行規則以及動作列表中每個動作的執行順序,依次執行動作列表中的每個動作,從而實現動作的靈活配置和無限擴展。
【附圖說明】
[0057]此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0058]圖1為本發明實施例提供的一種任務執行方法的實現流程圖;
[0059]圖2為本發明實施例提供的一種任務執行方法在實際應用中的處理流程圖;
[0060]圖3為本發明實施例提供的一種任務執行裝置的結構示意圖。
【具體實施方式】
[0061]為了解決現有技術中存在的無法實現動作靈活配置、動態配置和無