用于表示RPA数据的企业流程图的制作方法

文档序号:31838683发布日期:2022-10-18 22:01阅读:230来源:国知局
用于表示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页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1