秦君 龐丁黎 吳慶升 李曉敏
在機器流程自動化中,機器的作用是替代人工完成大量重復(fù)性、標準化的任務(wù)。但是這里所描述的機器并非實體,而是以虛擬軟件的形式來表現(xiàn)。機器流程自動化與常規(guī)的人工操作軟件存在較大差異,它是一種數(shù)字化輔助技術(shù),在特定的軟件開發(fā)環(huán)境下編寫控制程序,利用UI識別層和腳本控制層實現(xiàn)控制要求,自動執(zhí)行常規(guī)、重復(fù)、可預(yù)測的工作。因此,機器流程自動化在日常信息系統(tǒng)維護、電力巡檢、人力資源管理、財務(wù)管理等基礎(chǔ)性工作多、重復(fù)性工作多、標準化工作多的領(lǐng)域具有高度適用性。
Python是一種兼容多種開發(fā)環(huán)境的計算機程序設(shè)計語言,是一種高層次兼具解釋性、編譯性、動態(tài)性的腳本語言。Python完全面向?qū)ο筮M行開發(fā),函數(shù)、模塊、數(shù)字、字符串都以對象的形式在Python語言中存在,并且完全支持繼承、重載、派生、多繼承等,對于增強源代碼的重復(fù)利用性很有意義,該語言也支持重載運算符,但對于函數(shù)的設(shè)計支持較為有限。Python本身是可以擴充的,擴充的功能不會集成到語言的核心上,Python提供了豐富的接口工具,程序設(shè)計人員能夠方便運用C語言、C++語言等實現(xiàn)功能的擴充。Python編譯器本身也可以被集成到應(yīng)用腳本語言的程序內(nèi)。正是基于上述原因,可以運用Python將其它語言編寫的程序進行有效的集成和封裝。
機器流程自動化軟件包括機器流程自動化控制平臺、機器流程自動化設(shè)計器及機器流程自動化,三者實施部署運行相對獨立,不存在依賴關(guān)系。使用時可以機器流程自動化單獨使用,也可以設(shè)計器和機器流程自動化配合使用,還可以控制平臺和機器流程自動化配合使用。機器流程自動化軟件的總體架構(gòu)如圖1所示。
機器自動化流程設(shè)計器:能夠提供便捷的開發(fā)方法和開發(fā)界面,為機器流程自動化提供詳細的指令,作為機器流程自動化需要執(zhí)行的任務(wù),并將指令下發(fā)到機器流程自動化控制器中。
機器流程自動化控制平臺:承擔(dān)將工作任務(wù)合理分配給每一個單獨的機器流程自動化的任務(wù),并對具體任務(wù)的執(zhí)行過程進行有效的監(jiān)視、控制、管理。
機器流程自動化:具體可以分為前臺機器流程自動化和后天機器流程自動化兩種,主要部署在執(zhí)行具體任務(wù)的計算機終端中,可以以實體計算機終端或虛擬軟件的形式存在,并與具體要完成的業(yè)務(wù)流程進行數(shù)據(jù)交互。
(一)權(quán)限管理概念
所謂系統(tǒng)權(quán)限管理就是指系統(tǒng)的不同用戶擁有與其承擔(dān)角色相匹配的對特定子功能模塊進行操作的不同權(quán)限。應(yīng)用系統(tǒng)的權(quán)限可以從功能模型和信息模型兩方面來進行劃分,即功能層的操作權(quán)限管理和數(shù)據(jù)庫等操作權(quán)限管理。功能層的操作權(quán)限管理是指控制到子功能模塊“窗口”上的菜單,即承擔(dān)不同角色的不同用戶能夠操作不同子功能模塊,對于“窗口”上的不同功能菜單也存在不同的操作權(quán)限。這種權(quán)限管理模式僅涉及到功能層的操作權(quán)限,并沒有涉及到對數(shù)據(jù)庫的操作權(quán)限。
(二)系統(tǒng)權(quán)限管理功能模型設(shè)計
這里提出一種通用的能夠同時對功能層操作和數(shù)據(jù)庫操作的權(quán)限管理方法,對于功能管理到“窗口”的菜單層,對于數(shù)據(jù)庫管理到基本表的操作權(quán)限,結(jié)合機器流程自動化功能將電力系統(tǒng)常規(guī)操作不同項目所對應(yīng)的權(quán)限進行合理調(diào)整。系統(tǒng)權(quán)限管理從功能上可以分為權(quán)限管理基本數(shù)據(jù)模塊、角色管理模塊和用戶管理模塊三大部分,其權(quán)限管理功能模型如圖2所示。圖中描述了相關(guān)的數(shù)據(jù)流,對應(yīng)關(guān)系,以及數(shù)據(jù)存儲等。
(三)系統(tǒng)權(quán)限管理信息模型設(shè)計
在工程應(yīng)用領(lǐng)域,信息模型的設(shè)計需要遵循“三范式”原則,即非鍵屬性既不通過函數(shù)關(guān)聯(lián)到主鍵,也不通過傳遞關(guān)聯(lián)到主鍵。在進行權(quán)限管理信息模型設(shè)計前需要對實體進行明確。對系統(tǒng)的功能層和數(shù)據(jù)庫進行權(quán)限管理的信息模型應(yīng)當(dāng)包含如下類型的實體:用戶本體、用戶承擔(dān)角色、數(shù)據(jù)庫操作權(quán)限、數(shù)據(jù)庫基本表、子功能模塊、子功能模塊訪問權(quán)限列表、子功能模塊菜單。
(四)系統(tǒng)權(quán)限管理功能實現(xiàn)
電力系統(tǒng)在進行日常工作的時候需要進行不同的工作項目,不同的工作項目又具有不同的權(quán)限。這里采用Python平臺開發(fā)機器流程自動化功能,實現(xiàn)系統(tǒng)權(quán)限的自主調(diào)整,以適應(yīng)具體工作項目的調(diào)整。具體的開發(fā)環(huán)境如圖3所示。
UI識別層:提供高效的應(yīng)用適配能力,常用本地化應(yīng)用的識別支持,并創(chuàng)新性完成圖形文本化識別,實現(xiàn)更多應(yīng)用的文本識別,并更好的適配業(yè)務(wù)流程中圖形動作。
腳本控制層:使用當(dāng)下最簡潔最流行的Python語言,支持腳本的單獨調(diào)試和運行,完整封裝所有UI-AP,可使用自己喜歡的IDE并可以Debug,支持第三方接口集成,同時可操作人機交互界面。
可視化編輯:提供業(yè)界最直觀、功能豐富的自動化開發(fā)設(shè)計環(huán)境,全中文本地化完美支持。我們的高度視覺流程使非IT專業(yè)人員可快速和容易的配置機器流程自動化工作流程。支持輸出到Python代碼,在可視化編輯與程序語言編輯之間轉(zhuǎn)換。
常用工具:機器流程自動化根據(jù)定義好的任務(wù)和流程自動化運行,機器流程自動化在完成任務(wù)的每個步驟都可以被監(jiān)控和記錄, 從而用作審計證據(jù)已滿足法律合規(guī)的需求。提供豐富的運行日志,通過管理平臺展現(xiàn)運行結(jié)果信息。在對系統(tǒng)權(quán)限進行處理的時候通常會用到權(quán)限變更函數(shù),如公式(1)所示;ID變更函數(shù),如公式(2)所示。
其中,第一個參數(shù)代表了文件的路徑,第二個參數(shù)代表新的ID號碼,第三個參數(shù)為新的組ID號碼。
任務(wù)配置在具體的計算機終端中,既可以是實體終端也可以是虛擬軟件,與業(yè)務(wù)及流程進行交互,實現(xiàn)全天候自動化運行,從事一些標準化、重復(fù)性、大批量的任務(wù),原先有人工完成的桌面工作,現(xiàn)可交給機器流程自動化軟件處理完成。無需系統(tǒng)改造融合,直接使用人機界面來處理業(yè)務(wù)和數(shù)據(jù),是低成本高回報的自動化技術(shù)。同時也能夠支持與人工交互,實現(xiàn)輔助自動化功能,讓人集中注意力于關(guān)鍵環(huán)節(jié)的智能輔助自動化。在員工日常工作當(dāng)中,過程中的復(fù)雜流程可交予智能輔助自動化完成,如智能彈屏提醒、業(yè)務(wù)流程自動化、業(yè)務(wù)流程指引、多頁面信息展現(xiàn)等。
機器流程自動化在電力系統(tǒng)的日常工作中采用了無人值守的自動化模式,執(zhí)行大批量的、重復(fù)性的、標準化的工作,完全取代了原有的人工操作,不需要進行系統(tǒng)改造融合,直接通過人機交互界面來對業(yè)務(wù)和數(shù)據(jù)進行處理,節(jié)省了人力資源,提高了勞動效率,是一種低成本高回報的自動化技術(shù)。
作者單位:云南電網(wǎng)有限責(zé)任公司德宏供電局