本發明涉及數據處理,尤其涉及一種基于rpa節點池的調度方法及裝置。
背景技術:
1、機器人流程自動化(robotic?process?automation,rap)是一種以無代碼形式的、可以在流程中模擬人類操作的軟件類型,能夠比人類更快捷、精準,不知疲倦的替代重復性工作的工具,可以解放人投入到更加需要人類能力的工作中。
2、但是,rpa由控制器、設計器及機器人組成。rpa主要通過各種封裝好的控件,讓用戶能利用拖拉拽控件(無代碼形式),簡單的操作生成自動化流程,在電腦上實現瀏覽器應用程序自動鼠標點擊、鍵盤輸入、excel操作、數據處理、定時執行、自動生成界面交互、跨系統交互等功能。應用場景包括it運營、財務會計、人力資源、采購、供應鏈管理等等,如網絡監控、操作運維、費用報銷、單據審核、人員入職、開具證明、訂單核對等等。目前,rpa已成為當今應用最為廣泛、效果最為顯著、成熟度較高的智能化軟件,并在很多企業實現大規模的部署和使用。
3、而如何有效的進行rap節點池的任務優先級的調度,已經成為業界亟待解決的問題。
技術實現思路
1、本發明提供一種基于rpa節點池的調度方法及裝置,用以解決現有技術中如何有效的進行rap節點池的任務優先級的調度的問題。
2、本發明提供一種基于rpa節點池的調度方法,包括:
3、在用戶選擇的待處理任務進入多個執行隊列清單后,基于二級優先級評估算法對各個所述執行隊列清單進行任務排序,得到排序后的目標執行隊列清單;所述二級優先級評估算法包括:任務優先級評估以及進入隊列時間和預計運行時長評估;
4、在所述目標執行隊列清單存在對應的空閑機器人的情況下,將任一所述空閑機器人作為所述待處理任務的任務執行隊列;
5、將所述任務執行隊列的隊首任務出隊,刪除其它任務隊列中的所述隊首任務后,所述隊首任務進行任務執行線程。
6、根據本發明提供的一種基于rpa節點池的調度方法,在用戶選擇的待處理任務進入多個執行隊列清單后,基于二級優先級評估算法對各個所述執行隊列清單進行任務排序,得到排序后的目標執行隊列清單,包括:
7、獲取用戶選擇的待處理任務的優先級信息,以及所述用戶對應的機器人節點池權限信息;
8、根據用戶指定待處理任務執行的機器人節點池以及池和機器人的關系字典,確定所述待處理任務的可運行rpa機器人列表;其中,所述池和機器人的關系字典保存有每個機器人池中的機器人信息;
9、根據所述待處理任務的可運行rpa機器人列表,確定所述待處理任務對應的執行隊列清單,并將所述待處理任務逐一加入所述執行隊列清單里的隊尾;
10、在所述待執行隊列清單中,通過所述二級優先級評估算法對所述待處理任務進行一次冒泡排序,得到排序后的目標執行隊列清單。
11、根據本發明提供的一種基于rpa節點池的調度方法,在所述待執行隊列清單中,通過所述二級優先級評估算法對所述待處理任務進行一次冒泡排序,得到排序后的目標執行隊列清單,包括:
12、在所述待處理任務的優先級信息高于所述待執行隊列清單中靠前任務的優先級信息時,將所述待處理任務與所述靠前任務進行隊列位置的交換;
13、繼續與所述待執行隊列清單中更靠前的任務進行優先級比較,直至遍歷所述待執行隊列清單,得到排序后的目標執行隊列清單。
14、根據本發明提供的一種基于rpa節點池的調度方法,所述方法還包括:
15、在待處理任務的優先級信息與所述待執行隊列清單中靠前任務的優先級信息相同的情況下,獲取所述靠前任務的第一運行時長、第一進隊列時間,所述待處理任務的第二運行時長和第二進隊列時間;
16、在所述第一運行時長為所述第二運行時長的n倍,且所述第一運行時長大于所述第二進隊列時間與所述第一進隊列時間的差值的情況下,將所述待處理任務與所述靠前任務進行隊列位置的交換,n為正整數。
17、根據本發明提供的一種基于rpa節點池的調度方法,將所述任務執行隊列的隊首任務出隊,刪除其它任務隊列中的所述隊首任務后,所述隊首任務進行任務執行線程,包括:
18、將所述任務執行隊列的隊首任務出隊,并將其它任務隊列暫時上鎖,暫停操作,刪除其它任務隊列中的所述隊首任務;
19、解鎖其它任務隊列,所述隊首任務進行任務執行線程,在所述目標機器人上運行所述隊首任務。
20、根據本發明提供的一種基于rpa節點池的調度方法,在所述解鎖其它任務隊列,所述隊首任務進行任務執行線程,在所述目標機器人上運行所述隊首任務的步驟之后,還包括:
21、將所述rpa平臺有任務結束的情況下,判斷空閑機器人對應的任務隊列是否為空;
22、在所述空閑機器人對應的任務隊列為空的情況下,判斷全部機器人是否為空閑;
23、在全部機器人均為空閑,且所述空閑機器人對應的任務隊列均為空的情況下,等待任務進入隊列。
24、本發明還提供一種基于rpa節點池的調度裝置,包括:
25、排序模塊,用于在用戶選擇的待處理任務進入多個執行隊列清單后,基于二級優先級評估算法對各個所述執行隊列清單進行任務排序,得到排序后的目標執行隊列清單;所述二級優先級評估算法包括:任務優先級評估以及進入隊列時間和預計運行時長評估;
26、第一處理模塊,用于在所述目標執行隊列清單存在對應的空閑機器人的情況下,將任一所述空閑機器人作為所述待處理任務的任務執行隊列;
27、第二處理模塊,用于將所述任務執行隊列的隊首任務出隊,刪除其它任務隊列中的所述隊首任務后,所述隊首任務進行任務執行線程。
28、根據本發明提供的一種基于rpa節點池的調度裝置,所述裝置還用于:
29、獲取用戶選擇的待處理任務的優先級信息,以及所述用戶對應的機器人節點池權限信息;
30、根據用戶指定待處理任務執行的機器人節點池以及池和機器人的關系字典,確定所述待處理任務的可運行rpa機器人列表;其中,所述池和機器人的關系字典保存有每個機器人池中的機器人信息;
31、根據所述待處理任務的可運行rpa機器人列表,確定所述待處理任務對應的執行隊列清單,并將所述待處理任務逐一加入所述執行隊列清單里的隊尾;
32、在所述待執行隊列清單中,通過所述二級優先級評估算法對所述待處理任務進行一次冒泡排序,得到排序后的目標執行隊列清單。
33、根據本發明提供的一種基于rpa節點池的調度裝置,所述裝置還用于:
34、在所述待處理任務的優先級信息高于所述待執行隊列清單中靠前任務的優先級信息時,將所述待處理任務與所述靠前任務進行隊列位置的交換;
35、繼續與所述待執行隊列清單中更靠前的任務進行優先級比較,直至遍歷所述待執行隊列清單,得到排序后的目標執行隊列清單。
36、根據本發明提供的一種基于rpa節點池的調度裝置,所述裝置還用于:
37、在待處理任務的優先級信息與所述待執行隊列清單中靠前任務的優先級信息相同的情況下,獲取所述靠前任務的第一運行時長、第一進隊列時間,所述待處理任務的第二運行時長和第二進隊列時間;
38、在所述第一運行時長為所述第二運行時長的n倍,且所述第一運行時長大于所述第二進隊列時間與所述第一進隊列時間的差值的情況下,將所述待處理任務與所述靠前任務進行隊列位置的交換,n為正整數。
39、根據本發明提供的一種基于rpa節點池的調度裝置,所述裝置還用于:
40、將所述任務執行隊列的隊首任務出隊,并將其它任務隊列暫時上鎖,暫停操作,刪除其它任務隊列中的所述隊首任務;
41、解鎖其它任務隊列,所述隊首任務進行任務執行線程,在所述目標機器人上運行所述隊首任務。
42、根據本發明提供的一種基于rpa節點池的調度裝置,所述裝置還用于:
43、將所述rpa平臺有任務結束的情況下,判斷空閑機器人對應的任務隊列是否為空;
44、在所述空閑機器人對應的任務隊列為空的情況下,判斷全部機器人是否為空閑;
45、在全部機器人均為空閑,且所述空閑機器人對應的任務隊列均為空的情況下,等待任務進入隊列。
46、本發明還提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現如上述任一種所述基于rpa節點池的調度方法。
47、本發明還提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現如上述任一種所述基于rpa節點池的調度方法。
48、本發明還提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現如上述任一種所述基于rpa節點池的調度方法。
49、本發明提供的一種基于rpa節點池的調度方法及裝置,通過基于二級優先級評估算法對各個所述執行隊列清單進行任務排序,可以實現優先級調度和動態任務分配,確保高優先級的任務能夠及時執行,從而提高整體的工作效率,并且在后續在進行任務分配的過程中,全局貪心算法使得任務能夠根據機器人的實時狀態被合理分配,避免資源浪費,實現負載均衡。