雲擴研習社 | RPA流程開發最佳實踐(下)

encooRPA發表於2022-10-21

安全性

RPA機器人在執行任務過程中,將不可避免的接觸到使用者的敏感資訊(例如登入系統的賬號密碼等)和業務敏感資料(例如財務報表等),以及在執行過程中記錄的執行日誌等。

針對這些問題,需要RPA產品能力及開發人員在流程設計過程中透過不同的手段來防範這些安全隱患。


1.針對賬號密碼等使用者敏感資訊,不要硬編碼在流程檔案或配置檔案中。使用控制檯的資產管理功能,新建加密儲存的資料資產。在流程中透過獲取資產元件來獲取所需的敏感資訊。

2.在流程設計開發過程中,將業務敏感資料上傳至控制檯的檔案服務儲存,或透過有許可權控制的資料庫、共享資料夾、FTP等形式進行統一管理,儘量避免在本地儲存業務敏感資料。

3.在使用日誌元件時,利用日誌級別對不同資訊進行輸出。針對敏感資訊在UAT或正式上線前檢查是否有直接輸出日誌的內容並進行刪除。針對控制檯使用者實施最小許可權原則,僅對RPA開發/運維人員開放執行記錄檢視功能。


穩定性

RPA流程因其代替人工操作的特點,影響執行穩定性的因素較多,主要包含以下幾個方面:


1.環境問題:因RPA部署在Windows桌面環境中,容易受作業系統版本、基礎軟體版本(例如Chrome瀏覽器、Excel等)、桌面解析度甚至輸入法等外圍因素影響。因此在RPA開發和部署過程中,需儘量保證開發環境和生產部署環境的統一,降低因環境問題造成的流程不穩定因素。

2.流程健壯性:流程設計的健壯性是影響執行穩定性最重要的因素,以下幾點是最常用的手段:

  • 在流程開始執行時初始化環境,例如關閉瀏覽器和Excel等影響流程執行的程式。

  • 在使用選擇器時善用萬用字元,相容不同屬性值變化對選擇器元素定位造成的影響。


  • 合理設定元件前後延時、執行超時和匹配超時時間,降低因系統或頁面載入執行速度對執行穩定性造成的影響。


  • 合理利用Try/Catch元件對可能發生未知問題的步驟進行處理,並及時丟擲準確的錯誤資訊。


  • 對於批次執行的任務資料,透過Excel或資料庫等準確記錄流程執行的處理進度,保證流程可以重複執行,且中斷後再執行可以接續執行(檢查執行進度,只執行未處理部分)。


透過足夠的UAT測試對於系統彈窗或錯誤提示等無法預期的事件進行驗證和針對性處理。



流程效能最佳化

雖然RPA流程執行是以模擬人工操作為基礎實現業務流程,但並不意味完全按照人工操作步驟是最佳執行效率的實現形式。


主要可以從RPA操作步驟和元件選擇兩方面來最佳化流程執行的效能,提升執行效率。

1.操作步驟最佳化:

  • 涉及到多系統操作時,儘量在一個系統上完成所有操作或抓取資料後再切換另一個系統,減少因系統切換登入造成的時間損失。

  • 涉及多層級選單點選切換時,有些過程往往可以透過顯式URL跳轉形式來快速切換的,減少點選選單的次數。


  • 在批次資料處理時合理使用Excel或資料庫暫存中間結果,當流程異常中斷時,再次執行可從中間步驟接續處理,充分利用之前的執行結果,避免從頭開始執行

  • 在複雜Excel計算處理時,對於需計算的單元格可預先做好公式並儲存成模板。RPA執行時開啟模板填充原始資料,其餘的計算部分交給Excel公式自動重新整理。

2.合理選擇元件:


  • 絕大多數場景下,使用具備批次處理能力的元件都比單一處理的元件效率高。例如使用寫入區域元件代替迴圈寫入單元格,使用獲取結構化資料元件代替遍歷表格DOM結構獲取資料。

  • 對於大量複雜的邏輯或資料計算,使用程式碼處理比操作Excel效率更高。


多流程協作

在某些場景下,無法透過單一RPA任務完成全部業務操作,或因為流程設計考慮對流程執行步驟進行RPA任務拆分。 此時往往需要透過一些機制保證多流程之間的通知機制和資料傳遞,以實現多流程協作。

最主要的實現形式主要有以下兩種:

  • 利用控制檯的資料佇列功能,將獲取資料和後續業務處理從流程上解耦,以生產者-消費者方式對RPA流程進行切分。這類場景適合獲取資料簡單但後續業務流程執行耗時長的情況,透過一個獲取資料機器人配多個業務處理機器人的形式提升整體的流程執行效率。

  • 利用資料庫的中間表、FTP監聽資料夾或監聽郵箱等形式,將RPA任務進行切分,適合無法在單一環境下完成全部任務的場景。透過資料庫或檔案實現流程間的資料傳輸和事件觸發的監聽,實現多流程間的任務協作能力。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015058/viewspace-2919546/,如需轉載,請註明出處,否則將追究法律責任。

相關文章