在RPA平臺(tái)中為什么會(huì)有工作負(fù)載管理(WLM)?
WLM=Work Load Management嚼蚀。通常當(dāng)用戶啟動(dòng)一個(gè)自動(dòng)化任務(wù)時(shí),會(huì)交給某一個(gè)機(jī)器人Bot Runner執(zhí)行,或者由Bot Runner按照時(shí)間計(jì)劃玫鸟,自啟動(dòng)執(zhí)行某個(gè)任務(wù)流程。但如果遇到任務(wù)處理量很大犀勒,而且需要滿足較高的SLA要求鞋邑,即需要機(jī)器人即時(shí)處理大批量的工作任務(wù)。這就涉及到機(jī)器人的并發(fā)處理账蓉,也就是WLM的本質(zhì)作用枚碗。
配置WLM,其中涉及很多全新的概念和處理方式铸本,內(nèi)容比較多且難以理解肮雨,請(qǐng)耐心讀完,或在實(shí)際操作中加以參考箱玷。
在WLM中會(huì)涉及到一些概念名詞:設(shè)備池(Device Pools)怨规,隊(duì)列(Queues),工作項(xiàng)(Work Item)锡足,工作項(xiàng)結(jié)構(gòu)(Work Item Structure)波丰,服務(wù)水平協(xié)議計(jì)算器(SLA Calculator)。
設(shè)備池(Device Pools):設(shè)備池是一組用于自動(dòng)化運(yùn)行的設(shè)備(Device)組合舶得。隊(duì)列中的任務(wù)會(huì)運(yùn)行在對(duì)應(yīng)的設(shè)備池中掰烟。當(dāng)具有Bot Runner的License的客戶端連接到控制中心以后,就可以在設(shè)備列表中查看到這臺(tái)設(shè)備的機(jī)器名稱沐批。
隊(duì)列(Queues):隊(duì)列會(huì)對(duì)應(yīng)到設(shè)備池纫骑。在隊(duì)列中可以分配工作項(xiàng)(Work Items),每個(gè)工作項(xiàng)中有自動(dòng)化任務(wù)中所使用的指定數(shù)據(jù)字段九孩。
工作項(xiàng)(Work Item):指的是隊(duì)列中所要處理的數(shù)據(jù)先馆,其數(shù)據(jù)結(jié)構(gòu)必須符合工作項(xiàng)結(jié)構(gòu)(Work Item Structure)的要求。
服務(wù)水平協(xié)議計(jì)算器(SLA Calculator):用于計(jì)算需要分配給設(shè)備池的設(shè)備數(shù)量躺彬,以滿足處理隊(duì)列的 SLA 要求煤墙。
在管理權(quán)限方面,也會(huì)涉及到Owner(所有者)宪拥,Participants(參與者)仿野,Consumer(消費(fèi)者)等AA中的常規(guī)用法,可以參考這篇文章江解。
一设预、設(shè)備池
設(shè)備池的工作原理:
1. 不能在計(jì)劃或手動(dòng)狀態(tài)下從設(shè)備池中運(yùn)行自動(dòng)化任務(wù),只有在運(yùn)行隊(duì)列的時(shí)候才可以犁河。
2. 一個(gè)設(shè)備只能加載到一個(gè)設(shè)備池中鳖枕,在添加到設(shè)備池以后魄梯,從設(shè)備列表中就看不見該設(shè)備了。
3. 只有已經(jīng)連接到控制室的設(shè)備才能添加到設(shè)備池宾符。
建立設(shè)備池的過程:
1. 創(chuàng)建設(shè)備池的用戶酿秸,應(yīng)具有AAE_Pool Admin的角色權(quán)限。
2. 在設(shè)備(Devices)菜單中新建一個(gè)設(shè)備池魏烫。注:A2019和AAE 11.x界面略有不同辣苏。
3. 為新的設(shè)備池命名和填寫描述
4. 添加一個(gè)或多個(gè)已連接的設(shè)備
5. 建立該設(shè)備池的所有者Owner哄褒,默認(rèn)的所有者是該用戶稀蟋,也可以新增其他所有者。設(shè)備池的所有者都可以編輯和刪除設(shè)備池中的設(shè)備呐赡。
6. 建立該設(shè)備池的消費(fèi)者Consumer退客,消費(fèi)者是一個(gè)可選填項(xiàng),是按照角色添加的链嘀,即具有該角色的用戶萌狂,在運(yùn)行某個(gè)隊(duì)列時(shí),可以查看到和選擇到此設(shè)備池怀泊。
7. 完成后茫藏,可以看到一個(gè)設(shè)備池處于連接狀態(tài)。
二霹琼、隊(duì)列
建立隊(duì)列的過程
1. 創(chuàng)建隊(duì)列的用戶务傲,應(yīng)具有AAE_Queue Admin的角色權(quán)限。
2. 在工作負(fù)載(Workload)菜單中選擇建立新的隊(duì)列Queue
3. 填寫新隊(duì)列的基本設(shè)置碧囊,包括名稱树灶,描述,重新激活閾值(即當(dāng)隊(duì)列中有幾個(gè)工作項(xiàng)時(shí)糯而,該隊(duì)列才開始啟動(dòng)運(yùn)行。1就表示隊(duì)列中有1個(gè)工作項(xiàng)時(shí)泊窘,隊(duì)列就會(huì)運(yùn)行)熄驼,人員完成 1 個(gè)工作項(xiàng)所需的時(shí)間(該可選項(xiàng),是為了后續(xù)衡量隊(duì)列所產(chǎn)生的收益烘豹,即人工處理工作項(xiàng)需要多少時(shí)間)瓜贾。
4.?建立該隊(duì)列的所有者Owner,默認(rèn)的所有者是該用戶携悯,也可以新增其他所有者祭芦。隊(duì)列所有者都可以編輯和增加隊(duì)列中的工作項(xiàng)。
5. 設(shè)置隊(duì)列的參與者(可選填項(xiàng))憔鬼,是按照角色添加的龟劲,即具有該角色的用戶胃夏,可以在隊(duì)列中新增工作項(xiàng)和查看隊(duì)列的情況。
6. 設(shè)置隊(duì)列的消費(fèi)者(可選填項(xiàng))昌跌,是按照角色添加的仰禀,即具有該角色的用戶,可以查看隊(duì)列情況以及使用該隊(duì)列來運(yùn)行自動(dòng)化任務(wù)蚕愤。
7. 創(chuàng)建工作項(xiàng)Work Item結(jié)構(gòu)答恶。工作項(xiàng)結(jié)構(gòu)是由一系列字段所組成的。接下來萍诱,添加工作項(xiàng)的數(shù)據(jù)時(shí)悬嗓,或者在自動(dòng)化任務(wù)中增加數(shù)據(jù)時(shí),都需要對(duì)應(yīng)到這個(gè)工作項(xiàng)結(jié)構(gòu)中的字段裕坊。有三種方式來定義工作項(xiàng)結(jié)構(gòu)烫扼,一是導(dǎo)入Excel或CSV,二是在現(xiàn)有的隊(duì)列中選擇1個(gè)結(jié)構(gòu)碍庵,三是通過手工方式定義映企。
以導(dǎo)入Excel或CSV文件為例计呈。導(dǎo)入文件以后样屠,第1步設(shè)置隊(duì)列類別(Queue category)的名稱搏存,工作項(xiàng)中的各個(gè)列也按照Excel中的表頭信息自動(dòng)填入巩步;第2步可自定義是否使用該字段(勾選)侈咕,字段類型(在AAE11.x中包括文本阳谍,數(shù)字之剧,日期三種類型)够吩,以及是否顯示在控制中心(勾選)得问;第3步設(shè)置數(shù)據(jù)的排序囤攀,這是個(gè)可選項(xiàng),如果不選擇宫纬,就是數(shù)據(jù)表中的默認(rèn)順序焚挠,最多可以按照三個(gè)字段來選擇排序。
另外兩種方式漓骚,也是類似的蝌衔。手工處理繁瑣一些,需要一項(xiàng)一項(xiàng)的添加到結(jié)構(gòu)中蝌蹂。
8. 添加工作項(xiàng)數(shù)據(jù)噩斟。通過Excel或CSV導(dǎo)入的數(shù)據(jù)表的列需要和之前定義的工作項(xiàng)結(jié)構(gòu)相一致。也可以選擇在創(chuàng)建隊(duì)列時(shí)孤个,先不導(dǎo)入工作項(xiàng)剃允,待隊(duì)列運(yùn)行之后再來導(dǎo)入。
9. 隊(duì)列創(chuàng)建以后,可以在列表中查看到該隊(duì)列斥废。狀態(tài)是“未使用”(Not in use)狀態(tài)椒楣。
三、可按照隊(duì)列方式執(zhí)行的自動(dòng)化任務(wù)
開發(fā)自動(dòng)化任務(wù)的過程:
當(dāng)設(shè)置好設(shè)備池和隊(duì)列之后营袜,就可以按照隊(duì)列來啟動(dòng)自動(dòng)化任務(wù)了撒顿。當(dāng)然,也可以先定義好任務(wù)荚板,再來定義設(shè)備池凤壁。
在Bot Creator里開發(fā)該自動(dòng)化任務(wù)時(shí),首先跪另,需要在右側(cè)的變量菜單中設(shè)置Queue Category(隊(duì)列分類)拧抖,選擇某個(gè)之前已經(jīng)在隊(duì)列中設(shè)置好的隊(duì)列分類。
設(shè)置好隊(duì)列分類后免绿,在代碼中選擇使用Variable Operation命令唧席,在系統(tǒng)變量里選擇Work Item,再選擇某個(gè)具體屬性賦值給某個(gè)任務(wù)中所使用的變量嘲驾。接下來淌哟,自動(dòng)化任務(wù)就使用這個(gè)變量了,也就相當(dāng)于從隊(duì)列的工作項(xiàng)中取到了輸入數(shù)據(jù)辽故。
四徒仓、使用隊(duì)列方式運(yùn)行自動(dòng)化任務(wù)
運(yùn)行隊(duì)列的配置方式:
1. 在Bots中選擇所要執(zhí)行的任務(wù),使用隊(duì)列方式運(yùn)行
2. 下一步誊垢,選擇所需要使用的隊(duì)列和設(shè)備池掉弛,如果前面已經(jīng)建立好,而此時(shí)在列表里找不到隊(duì)列或設(shè)備池喂走,主要是由于權(quán)限問題所導(dǎo)致的殃饿,能夠找到列表信息的必須是所有者或是消費(fèi)者。
3. 最后芋肠,可以自定義隊(duì)列的名稱和描述乎芳,也可以使用默認(rèn)設(shè)置,點(diǎn)擊運(yùn)行业栅。
4. 如果在隊(duì)列中已經(jīng)添加了工作項(xiàng)數(shù)據(jù)秒咐,那么,設(shè)備池中的設(shè)備會(huì)分別從隊(duì)列中取出工作項(xiàng)數(shù)據(jù)碘裕,自動(dòng)調(diào)用自動(dòng)化任務(wù)運(yùn)行。某個(gè)設(shè)備的任務(wù)執(zhí)行完之后攒钳,再去隊(duì)列中領(lǐng)取新的工作項(xiàng)數(shù)據(jù)帮孔,直到隊(duì)列中的工作項(xiàng)數(shù)據(jù)都執(zhí)行完成。這樣,就實(shí)現(xiàn)了任務(wù)處理的并發(fā)以及任務(wù)的動(dòng)態(tài)負(fù)載分配文兢。
另外晤斩,還可以通過其他自動(dòng)化任務(wù),來為隊(duì)列中添加工作項(xiàng)數(shù)據(jù)姆坚。
采用自動(dòng)化的方式為隊(duì)列添加工作項(xiàng)數(shù)據(jù)
1. 例如將CSV中的數(shù)據(jù)循環(huán)加入到工作項(xiàng)中澳泵,在loop命令中使用Insert Work Item命令,來添加工作項(xiàng)數(shù)據(jù)兼呵。
2. 完成設(shè)置之后兔辅,可以通過手工或自動(dòng)方式來運(yùn)行這個(gè)任務(wù),實(shí)現(xiàn)對(duì)隊(duì)列中工作項(xiàng)數(shù)據(jù)的插入击喂。
3. 運(yùn)行之后维苔,可以在隊(duì)列中查看到已經(jīng)插入的這些數(shù)據(jù)。
通過這種實(shí)現(xiàn)方式懂昂,就可以實(shí)現(xiàn)前臺(tái)機(jī)器人(自動(dòng)化插入工作項(xiàng)數(shù)據(jù))對(duì)后臺(tái)機(jī)器人的任務(wù)(接到隊(duì)列中的數(shù)據(jù)后介时,自動(dòng)執(zhí)行)調(diào)用。
五凌彬、SLA計(jì)算器
SLA代表了Service Level Agreement(服務(wù)水平協(xié)議)沸柔,使用服務(wù)水平協(xié)議計(jì)算器可以根據(jù)隊(duì)列大小估算所需的設(shè)備池大小或處理時(shí)間。
1. 具有AAE_Queue_Admin角色用戶铲敛,或者屬于是隊(duì)列所有者褐澎,參與者或消費(fèi)者權(quán)限的用戶登錄控制中心。
2. 在Workload菜單中選擇SLA calculator原探,選擇正在執(zhí)行的隊(duì)列乱凿。
3. 在計(jì)算器設(shè)置界面中,可以需要處理工作項(xiàng)數(shù)據(jù)量大小咽弦,每個(gè)工作項(xiàng)的平均處理時(shí)間徒蟆,以及計(jì)劃需要多少個(gè)設(shè)備來執(zhí)行這些數(shù)據(jù)。計(jì)算出預(yù)計(jì)的處理時(shí)間型型。
也可以根據(jù)需要處理工作項(xiàng)數(shù)據(jù)量大小段审,每個(gè)工作項(xiàng)的平均處理時(shí)間,以及計(jì)劃需要多長(zhǎng)時(shí)間完成任務(wù)闹蒜,來計(jì)算所需要的設(shè)備數(shù)量寺枉。
六、WLM涉及到的參數(shù)配置
在C:\Program Files\Automation Anywhere\Enterprise\config\wlm.properties文件總定義了WLM所使用的各種參數(shù)绷落。修改參數(shù)后姥闪,需要重啟AA的服務(wù)才能生效。其中各參數(shù)的說明可參考?https://docs.automationanywhere.com/bundle/enterprise-v11.3/page/enterprise/topics/control-room/workload/wlm-properties-config-description.html
本文中的所有內(nèi)容砌烁,可參考Automation Anywhere的官方文檔筐喳。https://docs.automationanywhere.com/bundle/enterprise-v11.3/page/enterprise/topics/control-room/workload/workload-an-overview.html