用于表示RPA數據的企業流程圖的制作方法
用于表示rpa數據的企業流程圖
技術領域
1.本發明總體上涉及rpa(機器人流程自動化),更具體地,涉及提供使用多種發現技術獲取的與rpa的實現相關的流程數據的統一表示的企業流程圖(enterprise process graph)。
背景技術:
2.流程(process)由一個或多個計算機執行以提供各種服務的活動序列組成。在rpa(機器人流程自動化)中,一個或多個rpa機器人被實現以自動為企業執行流程。通常,通過執行諸如流程挖掘、任務挖掘、任務捕獲、流程發現等多種發現技術來收集與rpa的實現相關的數據。傳統上,這些技術的結果被單獨地分析以評估rpa。然而,對這些技術的結果的單獨分析并不能提供對整個企業流程的統一理解。
技術實現要素:
3.根據一個或多個實施例,提供了用于生成企業流程圖的系統和方法。使用多種發現技術所獲取的與rpa(機器人流程自動化)的實現相關的流程數據集合被接收。基于所接收的流程數據集合,表示rpa的實現的企業流程圖被生成。
4.在一個實施例中,多種發現技術包括流程挖掘、流程發現、任務挖掘、或者任務捕獲中的至少一項。在一個實施例中,流程挖掘、流程發現、任務挖掘、或者任務捕獲中的至少一項被執行。
5.在一個實施例中,基于所接收的流程數據集合,針對多種發現技術中的每種發現技術生成一個或多個事件表的集合。基于所生成的一個或多個事件表的集合,企業流程圖被生成。
6.在一個實施例中,通過從所接收的流程數據集合提取原始表并且對原始表的條目進行規范化,針對多種發現技術中的每種發現技術的一個或多個事件表的集合被生成。
7.在一個實施例中,通過基于所生成的一個或多個事件表的集合來生成圖并且連接兩個或更多個圖,企業流程圖被生成。在一個實施例中,通過基于生成的一個或多個事件表的集合來生成邊表并且基于邊表生成企業流程圖,企業流程圖被生成。
8.在一個實施例中,通過顯示、傳輸或存儲企業流程圖中的至少一項,企業流程圖被輸出。在另一實施例中,可以通過過濾企業流程圖并且顯示經過濾的企業流程圖,企業流程圖被輸出。
9.通過參考以下具體實施方式和附圖,本發明的這些和其他優點對于本領域普通技術人員將是明顯的。
附圖說明
10.圖1是示出根據本發明的實施例的機器人流程自動化(rpa)系統的架構圖;
11.圖2是示出根據本發明的實施例的已部署的rpa系統的示例的架構圖;
12.圖3是示出根據本發明的實施例的rpa系統的簡化部署示例的架構圖;
13.圖4示出根據本發明的實施例的示出用于實現機器人流程自動化機器人的基于云的管理的云rpa系統的架構圖;
14.圖5示出了根據本發明的實施例的用于生成企業流程圖的方法;
15.圖6示出了根據本發明的實施例的用于生成針對特定發現技術的事件表的工作流;
16.圖7示出了根據本發明的實施例的一個或多個流程的示例性事件表;
17.圖8示出了根據本發明的實施例的用于生成表示企業流程圖的邊表的工作流;
18.圖9示出了根據一個或多個實施例的說明性邊表;
19.圖10示出了根據本發明的實施例的用于顯示企業流程圖的工作流;以及
20.圖11是可以用于實現本發明的實施例的計算系統的框圖。
具體實施方式
21.機器人流程自動化(rpa)用于自動化工作流和流程。圖1是根據一個或多個實施例的rpa系統100的架構圖。如圖1所示,rpa系統100包括設計器102以允許開發者設計自動化流程。更具體地,設計器102促進rpa流程和用于由用戶(例如,管理員)在流程中執行活動的機器人的開發和部署。設計器102可以提供用于應用集成以及自動化第三方應用、管理信息技術(it)任務和聯絡中心操作的業務流程的解決方案。設計器102的實施例的一個商業示例是uipath studio
tm
。
22.在設計基于規則的流程的自動化中,開發者控制執行順序以及在流程中所開發的一組自定義步驟之間的關系,本文中定義為“活動”。每個活動可以包括動作,諸如點擊按鈕、讀取文件、寫入日志面板等。在一些實施例中,流程可以被嵌套或嵌入。
23.一些類型的流程可以包括但不限于序列、流程圖(flowchart)、有限狀態機(fsm)和/或全局異常處理程序。序列可以特別適合于線性流程,支持從一個活動到另一活動的流,而不會使流程混亂。流程圖可以特別適合于更復雜的業務邏輯,支持通過多個分支邏輯運算符以更多樣化的方式進行決策的集成和活動的連接。fsm可以特別適合于大型工作流。fsm可以在其執行中使用有限數目的狀態,這些狀態由條件(即,轉換)或活動觸發。全局異常處理程序可以特別適合用于在遇到執行錯誤時確定工作流行為和用于調試流程。
24.一旦在設計器102中開發了流程,業務流程的執行就通過指揮器(conductor)104編排(orchestrate),該指揮器104編排一個或多個機器人106,該一個或多個機器人106執行在設計器102中所開發的流程。指揮器104的實施例的一個商業示例是uipath orchestrator
tm
。指揮器220促進rpa環境中資源的創建、監控、部署和安全性的管理。在一個示例中,指揮器104是由云服務實現的web應用。指揮器104還可以用作與第三方解決方案和應用的集成點。
25.指揮器104可以通過從一組集中點連接和執行機器人106來管理一隊(fleet)rpa機器人106。指揮器104可以具有各種能力,包括但不限于供應、部署、配置、排隊、監控、日志記錄、提供互連接性、調度、作業管理、事件、憑證管理、審核操作、審核數據收集、包創建和/或包版本控制。指揮器104還可以使得能夠向外部源(例如,網鉤(web hooks))暴露事件。供應可以包括創建和維護機器人106與指揮器104(例如,web應用)之間的連接。部署可以包括
確保將包版本正確地傳遞給所指派的機器人106以供執行。配置可以包括機器人環境和流程配置的維護和傳遞。排隊可以包括提供對隊列和隊列項目的管理。監控可以包括跟蹤機器人標識數據和維護用戶許可。日志記錄可以包括將日志和操作數據存儲和索引到數據庫(例如,與blob存儲裝置或隊列介質(諸如sql或elastic數據庫)耦合的關系存儲和非關系存儲庫)和/或另一存儲機構(例如,提供存儲和快速查詢大型數據集的能力的)。指揮器104可以通過充當第三方解決方案和/或應用的通信集中點來提供互連接性。
26.機器人106是運行在設計器102中內置的流程的執行代理。機器人106的一些實施例的一個商業示例是uipath robots
tm
。機器人106的類型可以包括但不限于有人值守機器人108和無人值守機器人110。其他示例性類型的機器人106包括studio、studiox、testautomation等。有人值守機器人108由用戶或用戶事件觸發并且在同一計算系統上與人類用戶一起操作。有人值守機器人108可以幫助人類用戶完成各種任務,并且可以由人類用戶和/或用戶事件直接觸發。在有人值守機器人的情況下,指揮器104可以提供集中的流程部署和記錄介質。在某些實施例中,有人值守機器人108可以僅從“機器人托盤”或從web應用中的命令提示符開始。無人值守機器人110在虛擬環境中以無人值守模式運行并可以用于自動化許多流程,例如,用于大容量、后端流程等。有人值守機器人108和無人值守機器人110兩者都可以負責遠程執行、監控、調度和為工作隊列提供支持。有人值守機器人和無人值守機器人二者都可以自動化各種系統和應用,包括但不限于大型機、web應用、vm、企業應用(例如,由應用(例如,由等生產的那些)和計算系統應用(例如,臺式機和膝上型計算機應用、移動設備應用、可穿戴計算機應用等)。
27.在一些實施例中,機器人106可以由角(persona)安裝,或者由其他產品或控制器經由策略(例如,組策略對象)自動安裝。在其他實施例中,機器人106可以經由圖像上的sysprep(系統準備)、經由docker或經由kubernetes安裝。結果是,這樣的機器人106可以在本地系統帳戶、本地系統、本地機器等下打開交互式會話,并且具有服務的權限。在一些實施例中,機器人106可以以用戶模式安裝,具有與安裝給定機器人106的用戶相同的權限。
28.在一些實施例中,機器人106被拆分成若干組件,每個組件專用于特定任務。一些實施例中的機器人組件包括但不限于scm管理的機器人服務、用戶模式機器人服務、執行器、代理(agent)和命令行。scm管理的機器人服務管理和監控會話并且充當指揮器104與執行主機(即,在其上執行機器人106的計算系統)之間的透傳性代理(proxy)。這些服務被信任并且管理機器人106的憑證。控制臺應用由本地系統下的scm啟動。在一些實施例中,用戶模式機器人服務管理和監控會話并且充當指揮器104與執行主機之間的透傳性代理。用戶模式機器人服務可以被信任并且管理機器人106的憑證。如果沒有安裝scm管理的機器人服務,則可以自動啟動應用。執行器可以在會話下運行給定的作業(例如,他們可以執行工作流)并且他們可以知道每顯示器每英寸點數(dpi)設置。代理可以是表示基礎(wpf)應用,它們在系統托盤
窗口中顯示可用作業。代理可以是服務的客戶端。代理可以請求開始、停止暫停或作業以及改變設置。命令行是服務的客戶端,并且是控制臺應用,其可以請求開始作業并且等待它們的輸出。拆分機器人組件可以幫助開發人員、支持用戶并且使計算系統能夠更輕松地運行、標識和跟蹤每個機器人組件正在執行什么。例如,可以為每個機器人組件配置特殊行為,諸如針對執行器和服務設立不同的防火墻規則。作為進一步的示例,在一些實施例中,執行器可以知道每個監控器的dpi設置,因此,工作流可以在任何dpi處執行,而不管它們在其上被創建的計算系統的配置。
29.圖2示出根據一個或多個實施例的rpa系統200。rpa系統200可以是圖1的rpa系統100或者可以是圖1的rpa系統100的一部分。應當注意,在不偏離本發明的范圍的情況下,“客戶端側”、“服務器側”或兩者可以包括任何期望數目的計算系統。
30.如本實施例中客戶端側所示,計算系統202包括一個或多個執行器204、代理206和設計器208。在其他一些實施例中,設計器208可以不在同一計算系統202上運行。執行器204(其可以是如上所述的機器人組件)運行流程,并且在一些實施例中,多個業務流程可以同時運行。在該示例中,代理206(例如,服務)是用于管理執行器204的單個聯系點。
31.在一些實施例中,機器人表示機器名稱和用戶名之間的關聯。機器人可以同時管理多個執行器。在支持同時運行的多個交互式會話的計算系統(例如,server 2019)上,多個機器人可以同時運行(例如,高密度(hd)環境),每個機器人在單獨的會話中使用獨特的用戶名。
32.代理206還負責發送機器人的狀態(例如,周期性地發送指示機器人仍在運作的“心跳”消息)并且下載要執行的包的所需版本。在一些實施例中,代理206與指揮器212之間的通信由代理206發起。在通知場景的示例中,代理206可以打開websocket通道,該通道稍后由指揮器212用來向機器人發送命令(例如,開始、停止等)。
33.如本實施例中的服務器側所示,表示層包括web應用214、開放數據協議(odata)表示狀態轉移(rest)應用編程接口(api)端點216以及通知和監控api 218。服務器側上的服務層包括api實現/業務邏輯220。服務器側的持久層包括數據庫服務器222和索引器服務器224。指揮器212包括web應用214、odata rest api端點216、通知和監控api 218和api實現/業務邏輯220。
34.在各種實施例中,用戶在指揮器212的界面中(例如,經由瀏覽器210)執行的大多數動作是通過調用各種api來執行的。這樣的操作可以包括但不限于開始機器人上的作業,添加/移除隊列中的數據,調度作業以無人值守地運行,對流程、庫或作業執行crud(創建、讀取、更新、刪除)操作,等等。web應用214是服務器平臺的視覺層。在該實施例中,web應用214使用超文本標記語言(html)和javascript(js)。然而,在不脫離本發明的范圍的情況下,可以使用任何期望的標記語言、腳本語言或任何其他格式。在該實施例中,用戶經由瀏覽器210與來自web應用214的web頁面交互,以便執行各種動作來控制指揮器212。例如,用戶可以(例如,通過文件夾)創建機器人組、將包指派給機器人、分析每機器人和/或每進程的日志、開始和停止機器人等。
35.除了web應用214之外,指揮器212還包括暴露odata rest api端點216(或者可以
在不脫離本發明的范圍的情況下實現的其他端點)的服務層。rest api由web應用214和代理206二者消耗。在該示例性配置中,代理206是客戶端計算機上的一個或多個機器人的監督方。
36.該實施例中的rest api覆蓋配置、日志記錄、監控和排隊功能性。在一些實施例中,配置rest端點可以用于定義和配置應用用戶、許可、機器人、資產、發布和環境。日志記錄rest端點可以有助于將不同的信息記錄日志,例如,諸如以錯誤、機器人發送的顯式消息以及其他環境特定的信息。不同信息的日志記錄可包括關于由機器人運行的流程的日志記錄系統屬性和/或記錄和收集作業執行的用戶特定的參數功能。如果在指揮器212中使用開始作業命令,則機器人可以使用部署rest端點來查詢應該被執行的包版本。排隊rest端點可以負責隊列和隊列項目管理,諸如向隊列添加數據、從隊列取得事務、設置事務的狀態等。監控rest端點監控web應用214和代理206。通知和監控api 218可以是rest端點,用于注冊代理206、向代理206傳遞配置設置以及用于從服務器和代理206發送/接收通知。在一些實施例中,通知和監控api 218也可以使用websocket通信。
37.在本說明性實施例中,服務器側上的持久層包括一對服務器—數據庫服務器222(例如,sql服務器)和索引器服務器224。該實施例中的數據庫服務器222存儲機器人、機器人組的配置、相關聯的進程、用戶、角、調度表等。在一些實施例中,通過web應用214來管理該信息。數據庫服務器222還可以管理隊列和隊列項目。隊列和隊列項目也可以由諸如kafka的本機隊列服務來管理。在一些實施例中,數據庫服務器222可以存儲由機器人記錄日志的消息(附加于或代替索引器服務器224)。在一些實施例中是可選的索引器服務器224存儲和索引由機器人記錄日志的信息。在某些實施例中,可以通過配置設置禁用索引器服務器224。在一些實施例中,索引器服務器224使用作為開源項目全文搜索引擎的或者作為在云中實現的完全管理的數據倉庫的snowflake。由機器人記錄日志的消息(例如,使用諸如日志消息或寫入行的活動)可以通過(多個)日志記錄rest端點被發送給索引器服務器224,在所述索引器服務器處它們被索引以供將來利用。可以經由實時日志處理、近實時日志處理或離線日志處理來將消息記錄日志。
38.圖3是示出根據一個或多個實施例的rpa系統300的簡化部署示例的架構圖。在一些實施例中,rpa系統300可以是或者可以分別包括圖1和圖2的rpa系統100和/或rpa系統200。rpa系統300包括運行機器人的多個客戶端計算系統302。計算系統302能夠經由在其上運行的web應用與指揮器計算系統304通信。指揮器計算系統304轉而與數據庫服務器306和可選的索引器服務器308通信。關于圖2和圖3,應當注意,雖然在這些實施例中使用了web應用或服務(云服務),但是在不脫離本發明范圍的情況下,任何合適的客戶端/服務器軟件都可以被使用。例如,指揮器可以運行與客戶端計算系統上的非基于網絡的客戶端軟件應用通信的服務器側應用。
39.在一個實施例中,圖1的rpa系統100、圖2的rpa系統200和/或圖3的rpa系統300可以被實現用于對rpa機器人的基于云的管理。這種rpa機器人的基于云的管理使得rpa能夠作為軟件即服務(saas)被提供。因此,圖1的指揮器104、圖2的指揮器212和/或圖3的指揮器304在云中被實現以用于rpa機器人的基于云的管理,以例如創建rpa機器人、供應rpa機器人、調度rpa機器人上的任務、退役rpa機器人、或者實行用于管理rpa機器人的任何其他編排任務。
40.圖4示出根據一個或多個實施例的用于實現rpa機器人的基于云的管理的云rpa系統400的架構圖。云rpa系統400包括云計算環境402和本地計算環境404。本地計算環境404表示用戶或任何其他一個或多個實體(諸如公司、社團等)的本地網絡架構。本地計算環境404包括本地網絡406。云計算環境402表示提供遠離本地計算環境404處的用戶的工作負載的服務或處理的云計算網絡架構。云計算環境402包括各種云網絡,包括互聯網414、表示由用戶管理(或控制)并且由云平臺提供方托管的云網絡的用戶云網絡418、以及表示由云服務提供方管理并且由云平臺提供方托管的云網絡的云服務提供方云網絡420。云服務提供方是經由云來提供服務(例如,rpa)的實體。云平臺提供方是維護云計算基礎設施的實體。本地計算環境404的本地網絡406通信地耦合到云計算環境402的互聯網414,以支持本地計算環境404與云計算環境402之間的通信。
41.如圖4所示,云編排器430在云計算環境402中被實現,以實現rpa機器人的基于云的管理。特別地,云編排器430由云服務提供方管理并且被托管在云計算環境402內的云服務提供方云網絡420中。在一個實施例中,云服務提供方向本地計算環境404中的用戶提供rpa。
42.云編排器430管理云計算環境402中的rpa機器人。具體地,用戶與本地計算環境404中的計算設備412交互,以向云計算環境402中的云編排器430傳輸用于管理rpa機器人的指令。作為備選,用戶與本地計算環境404中的計算設備412交互,以在云編排器430上設置調度表以代表用戶自動傳輸指令和接收數據以用于管理rpa機器人的指令。用于管理rpa機器人的示例性指令包括用于創建rpa機器人、供應rpa機器人、調度rpa機器人上的任務(例如,調度執行任務的時間和執行任務的機器人類型)、退役(decommission)rpa機器人、或者針對rpa機器人的任何其他編排指令。響應于接收到指令,云編排器430通過例如創建rpa機器人、供應rpa機器人、調度rpa機器人的任務、停用rpa機器人等來實行指令。在一個實施例中,云編排器430可以類似于圖1的指揮器104、圖2的指揮器212、或圖3的指揮器304,但是在云計算環境402內的云服務提供方云網絡420中被實現。
43.由云編排器430管理的rpa機器人可以包括在云計算環境402內部署和維護的云機器人的動態池。這樣的云機器人可以包括云服務機器人池426的一個或多個云服務機器人428-a、
…
、428-x(以下統稱為云服務機器人428)和云管理的機器人池422的一個或多個云管理的機器人424-a、
…
、424-y(以下統稱為云管理的機器人424)。這樣的云機器人在云計算環境402中執行(即,處理)任務并且向本地計算環境404中的用戶傳輸任務的結果。另外或作為備選,由云編排器430管理的rpa機器人可以包括本地機器人池408的總體上很多的零個個或多個本地機器人410-a、
…
、410-z(以下統稱為本地機器人410)。在一些實施例中,云協調器430本身可以充當用于執行服務側工作流的機器人。
44.云服務機器人428由云服務提供方在云服務提供方云網絡420中維護,以用于在云計算環境402中為本地網絡環境404中的用戶執行rpa任務。云服務機器人428是根據從計算設備412向云編排器430發送指令的用戶的請求而被創建的。在創建之后,云服務機器人428通過輪詢或被通知新任務來等待要被執行的任務。在等待時,運行云服務機器人428的成本被最小化或以其他方式被降低。通過用戶從計算設備412向云編排器430發送指令來在云服務機器人428上調度任務。用于調度任務的指令定義了用于執行任務的時間和用于執行任務的機器人的類型。。云協調器430針對各種因素優化任務調度和執行功能。云服務機器人
428從等待狀態喚醒以執行任務并且一旦任務完成就返回等待狀態。因此,云服務機器人428在云服務提供方云網絡420上為本地計算環境404中的用戶執行任務。
45.云管理的機器人424由用戶在用戶云網絡418中維護,以用于為本地網絡環境404中的用戶在云計算環境402中執行rpa任務。云管理的機器人424在能力上類似于云服務機器人428并且也被托管在云計算環境402中。然而,托管云管理的機器人424的用戶云網絡418由用戶管理,而托管云服務機器人428的云服務提供方云網絡420由云服務提供方并且由云平臺提供方托管。云編排器430通過在云服務提供方云網絡420與用戶云網絡418之間建立連接來管理云管理的機器人424。用戶云網絡418可以由用戶利用云提供方技術建立,以隧道回到本地網絡406。用戶可以建立從本地網絡406到云服務提供方云網絡420的專用網絡連接。連接性通常采用例如以下的形式:任意對任意(例如,互聯網協議虛擬專用網絡)網絡、點對點以太網網絡、或者通過共置設施中的連接性供應方的虛擬交叉連接。這些連接不通過公共互聯網。與典型的通過互聯網的連接相比,這提供了更高的可靠性、更快的速度、一致的時延和更高的安全性。用戶云網絡418繼續完全由用戶控制和管理,從而為用戶提供對數據的嚴格控制。
46.一旦已經建立了云服務提供方云網絡420與用戶云網絡418之間的連接,云管理的機器人424就根據經由計算設備412與云編排器430交互的用戶的請求被創建。云管理的機器人424在用戶云網絡418上被創建。因此,云管理的機器人424在用戶云網絡418上為本地計算環境404中的用戶執行任務。可以應用算法來最大化云管理的機器人池422中的機器人的利用率并為用戶降低操作成本。
47.本地機器人410由本地網絡406中的用戶維護,以用于為本地網絡環境404中的用戶執行rpa任務。本地網絡406由用戶控制或以其他方式管理。云編排器430通過標準https連接性來維持與本地機器人410的連接。
48.本文描述的實施例提供了企業流程圖的生成,以提供對表示rpa的實現(諸如根據圖1的rpa系統100、圖2的rpa系統200、圖3的rpa系統300和/或圖4的云rpa系統400實現的rpa)的流程數據的統一理解。企業流程圖是如下的一種圖(例如,有向圖):在該圖中流程的活動或任務被表示為節點,活動或任務之間的每個轉換被表示為連接節點的邊。企業流程圖也稱為工作圖。這樣的企業流程圖提供對針對rpa的實現所收集的流程數據的統一理解,這些流程數據是通過執行多種不同的發現技術(諸如流程挖掘、任務挖掘、任務捕獲和/或流程發現)所收集的。有利地,這樣的企業流程圖組合流程數據,使得組合的流程數據以有意義的方式表示,以促進用戶對整體rpa實現的理解,并且使計算機技術能夠簡化和自動化rpa實現和管理。應當理解,雖然本文中描述企業流程圖用于表示與rpa的實現相關的流程數據,但是本發明不限于此。企業流程圖可以針對表示的任何類型的數據而被生成,并且不限于rpa數據。
49.圖5示出了根據一個或多個實施例的用于生成企業流程圖的方法500。方法500的步驟可以由一個或多個合適的計算設備執行,諸如,例如圖10的計算系統1000。
50.在步驟502,使用多種發現技術所獲取的與rpa的實現相關的流程數據集合被接收。rpa的實現可以針對企業,諸如,例如用戶、組織、公司或任何其他實體。
51.發現技術可以包括用于直接或間接推斷流程活動或任務之間關系的任何技術。在一個實施例中,發現技術可以包括流程挖掘、任務挖掘、流程發現和任務捕獲。如本文所使
用的,流程挖掘是指通過監控企業系統以跟蹤rpa事件之間的關系來自動標識rpa流程。流程發現(也稱為流程捕獲或流程建模)是指基于用戶輸入(例如,顯式的用戶輸入或推斷的用戶活動)來設計企業流程。任務挖掘是指通過觀察(例如實時或近實時監控或離線分析)對應用程序的用戶輸入(例如顯式用戶輸入或推斷的用戶活動)來自動標識rpa任務。任務捕獲是指基于用戶輸入來標識任務。在一個實施例中,流程挖掘、任務挖掘、流程發現、或者任務捕獲中的至少一項被執行。應當理解,發現技術可以包括用于收集與rpa的實現相關的流程數據的任何合適的方法,并且不限于流程挖掘、任務挖掘、流程發現和任務捕獲。
52.在步驟504,基于所接收的流程數據集合,針對多種發現技術中的每種發現技術的一個或多個事件表的集合被生成。應當理解,這里使用的事件表是數據之間關系的任何表示,并且不限于表。在一個實施例中,根據圖6的工作流600來生成事件表。
53.圖6示出了根據一個或多個實施例的用于生成針對特定發現技術的事件表的工作流600。流程數據602表示使用特定發現技術所獲取的流程數據集合。從流程數據602提取原始表604。原始表604是rpa相關事件的表。例如,對于流程挖掘和流程發現,與rpa相關的事件可以表示在特定時間和流程執行的特定實例處流程的活動的執行。在另一個示例中,對于任務挖掘和任務捕獲,與rpa相關的事件可以是在用戶桌面處被記錄的步驟,該步驟可以伴隨有該步驟的屏幕截圖。可以使用自動連續記錄器(例如,在任務挖掘中)或根據用戶的請求或由系統或活動觸發(例如,在任務捕獲中)來記錄所記錄的步驟。可以使用任何合適的方法來提取原始表604,例如,odbc(開放數據庫連接性)提取器、文本提取器、sap提取器等。在一個實施例中,對原始表604的條目進行規范化以生成規范化的表606。原始表604被規范化以確保所有表都使用相同的模式,因此可以從那時起統一地處理它們。這包括,例如,重命名列,確保所有數字都是可比較的的計算(例如,將所有數據轉變為相同的貨幣),組合或拆分表以使它們符合規范化模型,等等。規范化的表606作為事件表608連同流程特定數據610一起被輸出。流程特定數據610是指事件數據以外的與流程相關的數據。在一個示例中,事件表608是圖7的事件表700。
54.圖7示出了根據一個或多個實施例的一個或多個流程的示例性事件表700。事件表700記錄在事件表700中與流程id 1到流程id 3對應的三個流程的執行的一個或多個實例期間發生的事件。如圖7所示,事件表700被格式化為具有行702和列704的表,行702中的每個行與事件對應,列704中的每個列在行702與列704相交的單元格處標識在表頭行706中所標識的事件的屬性。具體地,每一行702與表示流程的活動的執行的事件(在列704-b中標識)、活動的執行的時間戳(在列704-c中標識)、標識針對活動的已執行的特定流程的執行實例的案例(case)id(在列704-a中標識)、以及標識所執行的活動的流程的流程id相關聯。應當理解,事件表700可以使用任何合適的格式,并且可以包括標識事件的其他屬性的附加列704。
55.在圖5的步驟506,基于一個或多個事件表的集合,表示rpa的實現的企業流程圖被生成。從概念上講,企業流程圖的生成可以考慮如下。可以從事件表中創建斷開連接的圖集合。可以通過向改斷開連接的圖集合添加邊來(至少部分地)連接圖以創建企業流程圖。新添加的邊不一定與經過它們的案例對應。在一個實施例中,根據圖8的工作流800來創建企業流程圖。
56.圖8示出了根據一個或多個實施例的用于生成表示企業流程圖的邊表的工作流
800。在工作流800中,事件表802可以是在圖5的步驟504處生成的事件表。事件表802表示使用多種發現技術獲取的數據的rpa事件數據。在一個實施例中,從事件表802生成邊表806。可以使用用于標識事件表802之間的關系的任何合適的技術(例如,人工智能或基于機器學習的技術、監督學習等)來生成邊表806。在一個實施例中,可以根據2019年12月27日提交的美國專利申請no.16/728,686中描述的方法來生成邊表806,該申請的公開內容通過引用整體并入本文。邊表806是對事件表802中的事件之間的關系進行編碼的表。然后,從邊表806生成企業流程圖。在另一實施例中,流程模型804從事件表802被生成(例如,使用流程發現技術),并且邊表806使用任何合適的技術(例如,人工智能或基于機器學習的技術、監督學習等)從流程模型804被生成,以用于標識流程模型804之間的關系。圖9示出了說明性邊表。
57.圖9示出了根據一個或多個實施例的說明性邊表900。在一個示例中,邊表900是圖8的邊表806。邊表900包括列902和行904。邊表900中的每個行904標識從源事件到目的地事件的轉換。邊表900中的每個列902與標識每個行904的源事件和目的地事件的各種屬性的字段相關聯。例如,列902-a標識源活動,列902-b標識目的地活動,列902-c標識源活動時間戳,列902-d標識目的地活動時間戳,列902-e標識案例id,列902-f標識表示源活動的流程的流程id的源流程id,列902-g標識表示目的地活動的流程的流程id的目的地流程id,以及列902-h標識邊類型。邊表900可以包括標識附加屬性的附加列302,諸如,例如名稱或服務級別協議。
58.在圖5的步驟508,企業流程圖被輸出。在一個實施例中,例如,可以通過在設備的顯示設備上顯示企業流程圖、將企業流程圖存儲在計算機系統的存儲器或存儲裝置上、或者通過向遠程計算機系統或服務(例如,服務、報告服務器等)傳輸企業流程圖來輸出企業流程圖。企業流程圖的存儲裝置可以使得能夠查看企業流程圖隨時間的歷史或演變。在一個實施例中,可以根據圖9的工作流900來顯示企業流程圖。
59.圖10示出了根據一個或多個實施例的用于顯示企業流程圖的工作流1000。在工作流1000中,邊表1002可以是在圖5的步驟506期間生成的邊表。在一個實施例中,根據全局布局1004來格式化邊表1002以生成布局圖1012,該布局圖1012然后被渲染以供在顯示設備1014(例如,圖11的顯示器1110)上顯示。在另一實施例中,邊表1002被過濾以生成經過濾的邊表1006。可以基于例如案例過濾器、提升到案例級別的邊過濾器、提升到案例級別的流程過濾器、或者任何其他合適的過濾器來過濾邊表1002。然后,圖1008從經過濾的邊表1006被生成,該圖1008也可以示出各種度量。簡化圖1010從圖1008被生成。簡化圖1010可以通過以下方式生成:基于用戶定義的或自動定義的復雜度級別向圖1008應用視覺復雜度滑塊以過濾圖1008的邊和節點,通過基于從節點和到節點應用從到(from-to)過濾器以過濾出邊,通過在圖1006上向上/向下鉆取,或者通過應用用于簡化圖1008的任何其他合適的方法。然后,簡化圖1010被格式化為布局圖1012,布局圖1012然后被渲染以供在顯示設備1014上顯示。
60.圖11是示出根據本發明的實施例的計算系統1100的框圖,該計算系統1100被配置為執行本文中描述的方法、工作流和流程,包括圖5的方法500、圖6的工作流600、圖8的工作流800和圖10的工作流1000。在一些實施例中,計算系統1100可以是本文中描繪和/或描述的計算系統中的一個或多個計算系統。計算系統1100包括通信介質1102(諸如,例如總線或用于傳遞信息的其他通信機制、以及耦合到通信介質1102以用于處理信息的(多個)處理器
1104。處理器1104可以是任何類型的通用或專用處理器,包括中央處理單元(cpu)、專用集成電路(asic)、現場可編程門陣列(fpga)、圖形處理單元(gpu)、前述項的多個實例和/或前述項的任何組合。處理器1104還可以具有多個處理核心,并且這些核心中至少一些核心可以被配置為執行特定功能。在一些實施例中可以使用多并行處理。
61.計算系統1100還包括用于存儲信息和要由(多個)處理器1104執行的指令的存儲器1106。存儲器1106可以由以下任何組合組成:隨機存取存儲器(ram)、只讀存儲器(rom)、閃存、高速緩存、靜態存儲裝置(例如磁盤或光盤)、或者任何其他類型的非瞬態計算機可讀介質或其組合。非瞬態計算機可讀介質可以是可以由(多個)處理器1104訪問的任何可用介質,并且可以包括易失性介質、非易失性介質或兩者皆有。介質也可以是可移除的、不可移除的或兩者皆有。
62.另外,計算系統1100包括諸如收發器的通信設備1108,以根據任何當前存在的或未來實現的通信標準和/或協議經由無線和/或有線連接提供對通信網絡的訪問。
63.(多個)處理器1104還經由通信介質1102耦合到適合于向用戶顯示信息的顯示器1110。顯示器1110還可以被配置為觸摸顯示器和/或任何合適的觸覺i/o設備。
64.鍵盤1112和諸如計算機鼠標、觸摸板等的光標控制設備1114也耦合到通信介質1102,以使用戶能夠與計算系統對接。然而,在某些實施例中,可能不存在物理鍵盤和鼠標,并且用戶可以僅通過顯示器1110和/或觸摸板(未示出)與設備交互。根據設計選擇,可以使用任何類型和組合的輸入設備。在某些實施例中,不存在物理輸入設備和/或顯示器。例如,用戶可以經由與其通信的另一個計算系統遠程地與計算系統1100交互,或者計算系統1100可以自主地操作。
65.存儲器1106存儲在由(多個)處理器1104執行時提供功能性的軟件模塊。這些模塊包括用于計算系統1100的操作系統1116和一個或多個附加功能模塊1118,該一個或多個附加功能模塊被配置為執行本文中描述的過程中的全部或部分過程或者其衍生物。
66.本領域技術人員將理解,“系統”可以體現為服務器、嵌入式計算系統、個人計算機、控制臺、個人數字助理(pda)、手機、平板計算設備、量子計算系統、或者在不脫離本發明范圍的情況下的任何其他合適的計算設備或設備的組合。將上述功能呈現為由“系統”執行并不旨在以任何方式限制本發明的范圍,而是旨在提供本發明的許多實施例中的一個示例。實際上,這里公開的方法、系統和裝置可以以與計算技術一致的本地化和分布式形式實現,包括云計算系統。
67.應當注意,本說明書中描述的系統特征中的一些系統特征已經被呈現為模塊,以便更具體地強調它們的實現獨立性。例如,模塊可以被實現為硬件電路,該硬件電路包括定制的超大規模集成(vlsi)電路或門陣列,諸如邏輯芯片、晶體管或其他分立元件的現成半導體。模塊還可以在可編程硬件設備中被實現,例如現場可編程門陣列、可編程陣列邏輯、可編程邏輯設備、圖形處理單元等。模塊也可以至少部分地以軟件實現以供各種類型的處理器執行。被標識的可執行代碼單元可以例如包括就算及指令的一個或多個物理或邏輯塊,這些塊可以例如被組織為對象、過程或功能。然而,所標識模塊的可執行文件不需要物理位于一起,而是可以包括存儲在不同位置的不同指令,當邏輯連接在一起時,這些指令構成模塊并達成模塊的所述目的。此外,模塊可以存儲在計算機可讀介質上,該計算機可讀介質例如可以是硬盤驅動器、閃存設備、ram、磁帶和/或在不脫離本發明的范圍的情況下的用
于存儲數據的任何其他這樣的非瞬態計算機可讀介質。事實上,可執行代碼的模塊可以是單個指令,也可以是多個指令,并且甚至可以分布在幾個不同的代碼段、分布不同的程序之中、以及跨多個存儲器設備分布。類似地,操作數據可以在本文中在模塊內被標識和圖示,并且可以以任何合適的形式體現并且可以在任何合適類型的數據結構內被組織。操作數據可以被收集為單個數據集,或者可以分布在包括不同存儲設備的不同位置,并且可以至少部分地僅作為系統或網絡上的電子信號存在。
68.前文僅說明了本公開的原理。因此應當理解,本領域技術人員將能夠設計出盡管在本文中沒有明確描述或示出、但是體現了本公開的原理并且被包括在其精神和范圍內的各種布置。此外,本文中敘述的所有示例和條件語言主要旨在僅用于教示目的,以幫助讀者理解本公開的原理和發明人為促進本領域所貢獻的概念,并且應被解釋為沒有限制為這些具體列舉的示例和條件。此外,本文中敘述本公開的原理、方面和實施例以及其具體示例的所有陳述旨在涵蓋其結構和功能等同物。此外,這樣的等同物旨在包括當前已知的等同物以及未來開發的等同物。
技術特征:
1.一種計算機實現的方法,包括:接收使用多種發現技術所獲取的、與rpa(機器人流程自動化)的實現相關的流程數據集合;以及基于所接收的所述流程數據集來生成表示所述rpa的實現的企業流程圖。2.根據權利要求1所述的計算機實現的方法,其中所述多種發現技術包括以下中的至少一項:流程挖掘、流程發現、任務挖掘或任務捕獲。3.根據權利要求2所述的計算機實現的方法,還包括:執行以下中的所述至少一項:流程挖掘、流程發現、任務挖掘或任務捕獲。4.根據權利要求1所述的計算機實現的方法,還包括:基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合,其中,基于所接收的所述流程數據集合來生成表示所述rpa的實現的企業流程圖包括:基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖。5.根據權利要求4所述的計算機實現的方法,其中,基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合包括:從所接收的所述流程數據集合提取原始表。6.根據權利要求5所述的計算機實現的方法,其中,基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合包括:將所述原始表的條目規范化。7.根據權利要求4所述的計算機實現的方法,其中,基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖包括:生成針對所生成的所述一個或多個事件表的所述集合的圖。8.根據權利要求7所述的計算機實現的方法,其中,基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖包括:連接所述圖中的兩個或多個圖。9.根據權利要求4所述的計算機實現的方法,其中,基于所生成的所述一個或多個事件表的所述集合來生成企業流程圖包括:基于所生成的所述一個或多個事件表的所述集合來生成邊表;以及基于所述邊表來生成所述企業流程圖。10.根據權利要求1所述的計算機實現的方法,還包括:顯示所述企業流程圖。11.根據權利要求1所述的計算機實現的方法,還包括:傳輸所述企業流程圖。12.根據權利要求1所述的計算機實現的方法,還包括:將所述企業流程圖存儲在存儲器中。13.根據權利要求1所述的計算機實現的方法,還包括:過濾所述企業流程圖。14.根據權利要求13所述的計算機實現的方法,還包括:顯示經過濾的所述企業流程圖。
15.一種裝置,包括:存儲器,其存儲計算機指令;以及至少一個處理器,其被配置為執行所述計算機指令,所述計算機指令被配置為使所述至少一個處理器執行以下操作:接收使用多種發現技術所獲取的、與rpa(機器人流程自動化)的實現相關的流程數據集合;以及基于所接收的所述流程數據集來生成表示所述rpa的實現的企業流程圖。16.根據權利要求15所述的裝置,其中所述多種發現技術包括以下中的至少一項:流程挖掘、流程發現、任務挖掘或任務捕獲。17.根據權利要求16所述的裝置,所述操作還包括:執行以下中的所述至少一項:流程挖掘、流程發現、任務挖掘或任務捕獲。18.根據權利要求15所述的裝置,所述操作還包括:基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合,其中,基于所接收的所述流程數據集合來生成表示所述rpa的實現的企業流程圖包括:基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖。19.根據權利要求18所述的裝置,其中,基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合包括:從所接收的所述流程數據集合提取原始表。20.根據權利要求19所述的裝置,其中,基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合包括:將所述原始表的條目規范化。21.一種體現在非瞬態計算機可讀介質上的計算機程序,所述計算機程序被配置為使至少一個處理器執行包括以下的操作:接收使用多種發現技術所獲取的、與rpa(機器人流程自動化)的實現相關的流程數據集合;以及基于所接收的所述流程數據集來生成表示所述rpa的實現的企業流程圖。22.根據權利要求21所述的計算機程序,還包括:基于所接收的所述流程數據集合,生成針對所述多種發現技術中的每種發現技術的一個或多個事件表的集合,其中,基于所接收的所述流程數據集合來生成表示所述rpa的實現的企業流程圖包括:基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖。23.根據權利要求21所述的計算機程序,其中,基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖包括:生成針對所生成的所述一個或多個事件表的所述集合的圖。24.根據權利要求23所述的計算機程序,其中,基于所生成的所述一個或多個事件表的所述集合來生成所述企業流程圖包括:連接所述圖中的兩個或多個圖。25.根據權利要求21所述的計算機程序,其中,基于所生成的所述一個或多個事件表的
所述集合來生成企業流程圖包括:基于所生成的所述一個或多個事件表的所述集合來生成邊表;以及基于所述邊表來生成所述企業流程圖。26.根據權利要求21所述的計算機程序,所述操作還包括:顯示所述企業流程圖。27.根據權利要求21所述的計算機程序,所述操作還包括:傳輸所述企業流程圖。28.根據權利要求21所述的計算機程序,所述操作還包括:將所述企業流程圖存儲在存儲器中。29.根據權利要求21所述的計算機程序,所述操作還包括:過濾所述企業流程圖。30.根據權利要求29所述的計算機程序,所述操作還包括:顯示經過濾的所述企業流程圖。
技術總結
提供了用于生成企業流程圖的系統和方法。接收使用多種發現技術所獲取的與RPA(機器人流程自動化)的實現相關的流程數據集合。基于所接收的流程數據集合來生成表示RPA的實現的企業流程圖。企業流程圖。企業流程圖。
