本發明涉及自動化運維,具體涉及一種基于rpa協作的批量作業日志檢查方法及裝置。
背景技術:
1、在數據中心批量作業運行的場景中,各類型的作業是由作業調度平臺負責統一調度與執行。根據以往經驗,盡管作業腳本的執行狀態為正常,但是執行日志中可能出現一些錯誤的關鍵字,這些錯誤沒有及時被發現,往往等到業務發生時或者系統資源告警時才排查定位到這些出錯的作業,導致業務交易及系統穩定性受到很大的影響。因此,對于執行完成的作業進行日志檢查的復核確認環節必不可少。為保障高效調度,作業調度平臺僅存儲作業執行信息,不提供作業結果存儲和自動化分析功能,這是為了減少系統負擔,保持調度平臺的輕量化和高性能。因此,批量作業的日志檢查仍依賴人工操作,如查找日志錯誤關鍵字和對比日志歷史長度。隨著業務及信息系統的不斷發展,上線的批量作業已多達數萬個,采用傳統的人工方式已經暴露出許多問題:1)一線檢查人員負擔過重,檢查的作業日志的時間已經占據了日常工作的絕大部分時間,且需要檢查的數量遠遠超過了其每日所能檢查的極限;2)人力及機器資源占用大,盡管作業檢查過程一般為簡單、重復性的操作,但是仍然要配備人力及設備終端資源以提供支持檢查;3)采用人工檢查日志錯誤關鍵字及長度的方式容易出現紕漏,檢查人員往往為了追求數量而忽視質量,導致作業運行風險未得到有效降低。
2、機器人流程自動化(robotic?process?automation,rpa)是利用軟件程序來執行業務流程的一種技術,它能夠模仿復制人工操作計算機圖形界面的過程,通過驅動鼠標和鍵盤來自動執行業務流程。針對作業日志檢查問題,可以采取rpa的方式模擬人工的日志檢查操作獲取到日志結果。然而,在實際情況下,面對數萬個運行批量作業,rpa的資源是有限的,如果沒有一種明確的策略方法動態調度多個rpa資源進行作業檢查,那么難以保證作業檢查的完成率、異常檢出的及時性及資源利用的高效率目標的實現。而在相關技術中,尚未找到一種成熟的解決方案能夠解決上述的問題。
技術實現思路
1、為了解決背景技術中的需求和問題,本發明提出了一種基于rpa協作的批量作業日志檢查方法及裝置,為后續的作業日志檢查提供了可靠的參考依據。
2、本發明的目的是通過以下技術方案來實現的:第一方面,本發明提供了一種基于rpa協作的批量作業日志檢查方法,包括如下步驟:
3、步驟1:采集當前周期日志檢查任務分配決策所需的數據信息;包括未分配檢查的作業集合、rpa集合以及某一檢查任務是否完成情況;
4、步驟2:建立作業檢查任務分配優化模型:在考慮作業分配優先級和周期內rpa執行的最大作業檢查數的情況下,以最小化rpa的資源使用成本、未按連續性規則分配作業的懲罰成本及作業未分配檢查的懲罰成本三個維度為目標函數,建立作業檢查任務分配優化模型;
5、步驟3:找到成本最優化的解決方案:使用兩階段混合元啟發式算法進行求解作業檢查任務分配優化模型;
6、步驟4:進行作業檢查工作:在調度周期k開始后,按照步驟2和步驟3中求解得到的最優分配方案,rpa?機器人會根據分配的任務優先級和檢查計劃依次執行作業檢查工作;當作業檢查成功時,rpa會將結果反饋給作業檢查引擎;作業檢查引擎根據提前預設的告警關鍵字、忽略關鍵字對文本內容進行分析,若存在異常日志,則生成告警信息推送告警監控平臺。
7、進一步地,所述步驟1中需要采集的信息還包括:每個檢查周期的時間窗寬度,rpa資源池的單位成本,每個rpa資源在上一周期是否存在執行檢查任務生成0-1矩陣,如果rpa?r?在上一個周期執行了任務則矩陣元素為1,否則矩陣元素為0,以及歷史數據中rpa執行某一檢查任務是否成功的概率和rpa檢查某個單個作業日志的時間。
8、進一步地,所述步驟2中,建立作業檢查任務分配優化模型的假設條件如下:
9、1)每個rpa機器人每周期內的最大可檢查作業數是固定的;
10、2)每個作業的檢查時間依賴于作業的復雜性,這一數據從歷史數據中獲得;
11、3)rpa機器人能夠并行處理多個作業,但存在資源限制;
12、4)未及時檢查的作業能夠累積到下一周期;
13、5)每個檢查周期開始與結束,rpa機器人登錄與退出日志服務器的時間忽略不計;
14、6)每個周期開始,機器人在上個檢查周期的檢查任務已完成。
15、進一步地,所述步驟2中,建立作業檢查任務分配優化模型的約束條件如下:
16、1)在rpa機器人非滿載運行的條件下,周期內每項作業指派一個機器人進行檢查:
17、
18、其中,為rpa機器人的數量,r是當前可用的rpa,為檢查任務生成0-1矩陣的元素,如果rpa?被分配檢查作業,則為1,否則為0,為上一周期內因rpa資源限制導致未及時分配檢查的作業集合,為當前可供用于作業檢查的rpa集合;
19、2)每個機器人在檢查周期內分配到的任務數不得超過其最大可檢查數:
20、
21、其中,為rpa?檢查作業的時間,為每個檢查周期的時間窗寬度;
22、3)在周期內無法及時分配檢查的任務應當在檢查周期時分配的優先級高于本周期內待分配的作業:
23、進一步地,所述步驟2中,建立作業檢查任務分配優化模型的目標函數建模過程如下:
24、目標函數旨在最小化總成本z,包括rpa資源使用成本,未按規則分配作業的懲罰成本和作業未檢查的懲罰成本:
25、
26、其中,為第個作業未按連續性規則檢查的懲罰成本,為歷史數據中rpa?檢查作業是否成功的概率,為作業未被檢查的單位懲罰成本。
27、進一步地,所述步驟3中,求解模型的兩階段混合元啟發式算法進一步過程如下:
28、3.1)初始解生成
29、此階段快速生成一個可行解,為鄰域搜索提供起點,使用貪心策略來生成初始解;優化目標如下:
30、
31、3.2)鄰域搜索;
32、在初始解的基礎上,通過對解的局部修改來尋找更好的解;具體如下:
33、從解中隨機選擇個任務分配進行重置;對于每個選中的任務,重新分配到成本最低的rpa,得到更新解;
34、重分配公式:
35、
36、使用模擬退火的接受準則,決定是否接受新的解;即如果新解的總成本或,則接收優化操作后得到的新解;其中,表示優化之前的解,是成本的變化量,是控制接收較差解的概率;
37、在每次迭代后,基于成本變化量和模擬退火準則,決定是否接收新的解。如果新解的成本更低,直接接收;如果成本增加,則有一定概率接受;
38、3.3)解的擾動
39、為了跳出局部最優,定期對當前解進行擾動;隨機選擇個任務分配并進行重新分配;擾動后重新分配:
40、
41、3.4)求解
42、每次迭代后檢查終止條件:1)達到設定的最大迭代次數;2)當前解的變化小于預定的誤差范圍;若達到終止條件,算法結束;否則,返回到迭代循環,最終解即為最優解。
43、第二方面,本發明還提供了一種基于rpa協作的批量作業日志檢查裝置,包括存儲器和一個或多個處理器,所述存儲器中存儲有可執行代碼,所述處理器執行所述可執行代碼時,實現所述的一種基于rpa協作的批量作業日志檢查方法。
44、第三方面,本發明還提供了一種計算機可讀存儲介質,其上存儲有程序,所述程序被處理器執行時,實現所述的一種基于rpa協作的批量作業日志檢查方法。
45、第四方面,本發明還提供了一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時,實現所述的一種基于rpa協作的批量作業日志檢查方法。
46、與現有技術相比,本發明的有益效果如下:
47、本發明提出了一種基于rpa協作的批量作業日志檢查方法及裝置。該流程是通過作業檢查引擎獲取作業信息后,由rpa機器人提取日志并調用腳本將作業日志檢查信息推送至作業檢查引擎進行關鍵字分析,若發現異常則生成告警并推送至告警監控平臺。針對檢查流程中動態調度rpa的分配作業節點,提出了優化rpa資源調度模型。該模型是一種基于多個rpa資源協作的單周期作業檢查任務分配優化模型,能夠實現一個同時考慮多個目標的均衡調度方案,提高了作業檢查和rpa資源利用的效率,為批量作業的正常運行提供了支持保障。