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