CN116088818A - 将机器人过程自动化机器人动态绑定到资源的系统和方法 - Google Patents

将机器人过程自动化机器人动态绑定到资源的系统和方法 Download PDF

Info

Publication number
CN116088818A
CN116088818A CN202211368591.9A CN202211368591A CN116088818A CN 116088818 A CN116088818 A CN 116088818A CN 202211368591 A CN202211368591 A CN 202211368591A CN 116088818 A CN116088818 A CN 116088818A
Authority
CN
China
Prior art keywords
rpa
resource
robot
orchestrator
workflow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211368591.9A
Other languages
English (en)
Inventor
M·T·科萨雷诺
O·康斯坦廷
M·格里戈尔
R·鲁萨努
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yupas Co
Original Assignee
Yupas Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yupas Co filed Critical Yupas Co
Publication of CN116088818A publication Critical patent/CN116088818A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview

Abstract

将机器人过程自动化机器人动态绑定到资源的系统和方法。在一些实施例中,工作流规范包括由负责执行相应工作流的机器人过程自动化(RPA)机器人所需的资源的一组默认特性。一些实施例使得用户能够在不更改工作流规范本身的情况下更改相应的默认特性(例如,重新定位和/或重新命名文件)。可以经由管理多个RPA机器人的执行的RPA编排器的用户界面来执行此类更改。

Description

将机器人过程自动化机器人动态绑定到资源的系统和方法
技术领域
本发明涉及机器人过程自动化(RPA),尤其涉及管理软件机器人的执行。
背景技术
RPA是一个新兴的信息技术领域,其旨在通过将重复计算任务进行自动化来提高生产力,从而使人类操作员解放来执行更复杂的智力和/或创造性活动。针对自动化的显著任务包括从文档(例如,发票、网页)中提取结构化数据以及与用户界面进行交互,例如填写表格、发送电子邮件以及向社交媒体网站发布消息等等。
RPA开发的一个独特分支涉及简化软件机器人的编程和管理,其最终目标是将RPA技术的范围扩展到开发者和行业的广泛受众。当前执行传统RPA的一种方式包括采用RPA设计工具对一组机器人活动进行编程。然后将所产生的机器人代码或规范发送到执行环境(客户端机器)。在更复杂的应用中,多个机器人可以在多个机器上同时执行,从而执行各种自动化任务。这种机器人的执行可以从管理控制台集中地进行管理和编排。
RPA机器人的设计和开发本质上是不同的活动,通常由不同的实体(用户、公司)来执行。因此,在传统的RPA架构中,平稳的操作可能需要多个实体和运营商的协作。例如,客户可能无法自行对机器人进行故障排除,以及一些运行时故障可能需要来自机器人设计人员的帮助。这种情形可能会对生产力产生负面影响,并且甚至可能会阻碍一些客户采用RPA技术。
鉴于上述情况,人们对开发更健壮和用户友好的RPA机器人有着浓厚的兴趣。
发明内容
根据一个方面,一种方法包括采用计算机系统的至少一个硬件处理器来执行被配置为管理多个软件机器人的机器人过程自动化(RPA)编排器。RPA编排器还被配置为接收包括RPA工作流的编码和RPA工作流所需的RPA资源的默认位置的指示符的RPA封装包,其中该RPA资源包括从由计算机文件、队列和数据库组成的组中选择的项目。RPA编排器还被配置为将用于执行的RPA工作流分配给多个软件机器人中的所选择的机器人,其中将RPA工作流分配给所选择的机器人包括在准备执行RPA工作流时,确定RPA资源的运行时实例在默认位置处是否可用,以及向用户展示编排器用户界面(UI),该编排器UI显示根据确定的结果来选择的资源可用性指示符。
根据另一方面,一种计算机系统,包括至少一个硬件处理器,该硬件处理器被配置为执行被配置为管理多个软件机器人的RPA编排器。RPA编排器还被配置为接收RPA封装包,该RPA封装包包括RPA工作流的编码和RPA工作流所需的RPA资源的默认位置的指示符,其中RPA资源包括从由计算机文件、队列和数据库组成的组中所选择的项目。RPA编排器还被配置为将用于执行的RPA工作流分配给多个软件机器人中的所选择的机器人,其中将RPA工作流分配给所选择的机器人包括,在准备执行RPA工作流时确定RPA资源的运行时实例在默认位置处是否可用,以及向用户展示编排器用户界面(UI),该编排器UI显示根据确定的结果来选择的资源可用性指示符。
根据另一方面,一种非暂态计算机可读介质存储指令,当由计算机系统的至少一个硬件处理器执行该指令时,使计算机系统执行被配置为管理多个软件机器人的RPA编排器。RPA编排器还被配置为接收RPA封装包,该RPA封装包包括RPA工作流的编码和RPA工作流所需的RPA资源的默认位置的指示符,其中RPA资源包括从由计算机文件、队列和数据库组成的组中所选择的项目。RPA编排器还被配置为将用于执行的RPA工作流分配给多个软件机器人中的所选择的机器人,其中将RPA工作流分配给所选机器人包括,在准备执行RPA工作流时确定RPA资源的运行时实例在默认位置处是否可用,以及向用户展示编排器用户界面(UI),该编排器UI显示根据确定的结果来选择的资源可用性指示符。
附图说明
通过阅读以下具体实施方式并参考附图,本发明的上述方面和优点将变得更好理解,其中:
图1示出了根据本发明的一些实施例的示例性机器人过程自动化(RPA)环境。
图2图示了根据本发明的一些实施例的RPA机器人和编排器的示例性组件和操作。
图3图示了根据本发明的一些实施例的RPA封装包的示例性组件。
图4示出了根据本发明的一些实施例的各种RPA主机系统。
图5示出了根据本发明的一些实施例的由编排器用户界面(UI)展示的示例性视图。
图6示出了根据本发明的一些实施例的由编排器UI展示的另一示例性视图。
图7示出了根据本发明的一些实施例的由编排器UI展示的又一示例性视图。
图8-A示出了根据本发明的一些实施例的示例性资源编辑UI。
图8-B示出了根据本发明的一些实施例的向用户显示警告的另一示例性资源编辑UI。
图9示出了根据本发明的一些实施例由编排器执行的示例性步骤序列。
图10图示了根据本发明的一些实施例的资源元数据集合以及在默认属性值与运行时属性值之间的示例性映射。
图11示出了根据本发明的一些实施例的由编排器执行的另一示例性步骤序列。
图12示出了根据本发明的一些实施例的由编排器执行以更新资源元数据的示例性步骤序列。
图13示出了根据本发明一些实施例的由RPA机器人执行的示例性步骤序列。
图14示出了被编程为执行本文中所描述的一些方法的计算设备的示例性硬件配置。
具体实施方式
在以下描述中,应当理解,结构之间的所有所述连接可以是直接操作连接或通过中间结构的间接操作连接。元素集合包括一个或多个元素。元素的任何引述被理解为指代至少一个元素。多个元素包括至少两个元素。“或”的任何使用都意指非排他性的或。除非另有要求,否则任何描述的方法步骤都不必以特定的图示顺序来执行。从第二元素导出的第一元素(例如数据)涵盖等于第二元素的第一元素,以及通过处理第二元素和可选的其他数据而生成的第一元素。根据参数做出确定或决定涵盖根据参数并且可选地根据其他数据做出确定或决定。除非另有说明,否则一些数量/数据的指示符可以是数量/数据本身,也可以是与数量/数据本身不同的指示符。计算机程序是执行任务的处理器指令的序列。在本发明的一些实施例中所描述的计算机程序可以是独立的软件实体或其他计算机程序的子实体(例如,子例程、库)。本文中使用术语“数据库”来标示任何有组织的、可搜索的数据集合。本文中的元数据涵盖提供关于对象的信息的任何数据,除了对象本身。例如,图像元数据可以包括相应图像的大小、文件名和位置,但是不包括图像本身。计算机可读介质包括非暂态介质,诸如磁性、光学和半导体存储介质(例如,硬盘驱动器、光盘、闪存、DRAM),以及诸如导电电缆和光纤链路的通信链路。根据一些实施例,本发明尤其提供包括被编程以执行本文中所描述的方法的硬件(例如,一个或多个处理器)的计算机系统,以及用于执行本文中所描述的方法的计算机可读介质编码指令。
下面的描述通过示例的方式而不一定通过限制的方式来说明本发明的实施例。
图1示出了根据本发明的一些实施例的示例性机器人过程自动化(RPA)环境10。环境10包括协作以实现特定任务的自动化的各种软件组件。在示例性RPA场景中,公司的员工使用商业应用(例如,文字处理器、电子表格编辑器、浏览器、电子邮件应用)来执行重复性任务,例如向各种客户开具发票。为了实际执行相应的任务,员工执行操作/动作的序列,诸如打开Microsoft
Figure BDA0003924726510000051
电子表格、查找客户的公司详细信息、将相应的详细信息复制到发票模板中、填写指示所购买的项目的发票字段、切换到电子邮件应用、撰写电子邮件消息给相应的客户、将新创建的发票附加到相应的电子邮件消息中,以及单击“发送”按钮。RPA环境10的各种元件可以通过模仿在执行相应任务的过程中由相应的人类操作员所执行的操作集合来将相应的过程自动化。
模仿人类操作/动作在本文中被理解为涵盖再现当人类操作员在计算机上执行相应操作/动作时发生的计算事件的序列,以及再现人类操作员在计算机上执行相应操作的结果。例如,模仿点击图形用户界面(GUI)的按钮的动作可以包括让操作系统将鼠标指针移动到相应的按钮并生成鼠标点击事件,或者可以备选地包括将相应的GUI按钮本身切换到点击状态。
通常以RPA自动化为目标的活动包括处理付款、开具发票、与商业客户通信(例如,分发时事通讯和/或产品供应)、内部通信(例如,备忘录、会议和/或任务的安排)、审计和工资单处理等等。在一些实施例中,专用RPA设计应用30(图2)使得人类开发者能够设计软件机器人以实现有效地使人类动作序列自动化的工作流。本文中的工作流标示自定义自动化步骤的序列,在本文中被视为RPA活动。每个RPA活动包括由机器人执行的至少一个动作,诸如单击按钮、读取文件、写入到电子表格单元格等。活动可以被嵌套和/或被嵌入。在一些实施例中,RPA设计应用30展示用户界面和工具集,该用户界面和工具集使开发者能够控制执行顺序以及在工作流的RPA活动之间的关系。RPA设计应用30的实施例的一个商业示例是UiPath
Figure BDA0003924726510000061
一些类型的工作流可以包括但不限于序列、流程图、有限状态机(FSM)和/或全局异常处理程序。序列可能特别适用于线性过程,从而使得流能够从一个活动流向另一个活动,而不会使工作流混乱。流程图可能特别适用于更复杂的业务逻辑,通过多个分支逻辑运算符来以更多样化的方式实现决策的集成和活动的连接。FSM可能特别适用于大型工作流。FSM可以在其执行中使用有限数目的状态,这些状态由条件(即转变)或活动来触发。全局异常处理程序可能特别适用于在遇到执行错误时确定工作流行为以及适用于调试过程。
一旦开发了RPA工作流,就可以以计算机可读的形式将其进行编码并导出为RPA封装包40(图2)。在如图3中所图示的一些实施例中,RPA封装包40包括RPA脚本42的集合,该RPA脚本集合42包括针对软件机器人的指令集。(多个)RPA脚本42可以根据本领域已知的任何数据规范来制定,例如以可扩展标记语言(XML)、
Figure BDA0003924726510000062
对象简谱(JSON)或诸如C#、Visual
Figure BDA0003924726510000063
Figure BDA0003924726510000064
等的编程语言来制定。备选地,(多个)RPA脚本42可以用RPA特定版本的字节代码来制定或者甚至作为以诸如英语、西班牙语、日语等自然语言制定的指令序列来制定。在一些实施例中,(多个)RPA脚本42被预编译成本地处理器指令集(例如,机器代码)。
在一些实施例中,RPA封装包40还包括资源规范44,该资源规范44指示由相应的机器人在执行期间使用的过程资源集合。示例性过程资源包括凭证集合、计算机文件、队列、数据库和网络连接/通信链路等等。本文中的凭证一般标示访问特定RPA主机和/或执行特定软件组件所需的私有数据(例如,用户名、密码)。凭证可以包括加密数据;在这种情形中,执行机器人可以拥有用于解密相应数据的密码学密钥。在一些实施例中,凭证资源可以采取计算机文件的形式。备选地,示例性凭证资源可以包括保存实际凭证的数据库中的查找键(例如,散列索引)。这种数据库有时在本领域中被称为凭证保险库。本文中的队列标示保存相同类型的项目(例如,计算机文件、结构化数据对象)的有序集合的容器。示例性队列包括发票的集合和电子邮件收件箱的内容等等。队列项目的排序可以指示应该由执行机器人处理的相应项目的顺序。
在一些实施例中,针对每个过程资源,规范44包括表征相应资源的元数据集合。示例性资源特性/元数据尤其包括相应资源的资源类型的指示符、文件名、文件系统路径和/或用于访问相应资源的其他位置指示符、相应资源的大小和版本指示符。资源规范44可以根据本领域已知的任何数据格式来制定,例如像XML或JSON脚本、关系数据库等。资源元数据将在下面结合图8进一步讨论。
本领域技术人员将了解RPA设计应用30可以包括多个组件/模块,该多个组件/模块可以在不同的物理机器上执行。在一个示例中,RPA设计应用30可以以客户端-服务器配置来执行,其中应用30的一个组件可以向客户端计算机的用户展示机器人设计界面,以及在服务器计算机上执行的应用30的另一组件可以组装机器人工作流以及制定/输出RPA封装包40。例如,开发者可以经由在客户端计算机上执行的网页浏览器访问机器人设计界面,而对在客户端计算机处接收到的用户输入进行的软件处理实际上在服务器计算机上执行。
一旦被制定,(多个)RPA脚本42可以由一组机器人12a-c(图1)执行,机器人12a-c(图1)可以进一步由编排器14控制和编排。机器人12a-c和编排器14可以各自包括多个计算机程序,这些计算机程序可以在同一物理机器上执行或者可以不在同一物理机器上执行。机器人12a-c和编排器14的示例性商业实施例分别包括UiPath
Figure BDA0003924726510000081
和UiPath
Figure BDA0003924726510000082
机器人12a-c的类型包括但不限于有人值守机器人、无人值守机器人、开发机器人(类似于无人值守机器人,但是被用于开发和测试目的)和非生产机器人(类似于有人值守机器人,但是被用于开发和测试目的)。
有人值守机器人由用户事件和/或命令触发,并且在同一计算系统上与人类操作员一起操作。例如,在一些实施例中,有人值守机器人只能从机器人托盘或从命令提示符启动,并且因此不能从编排器14控制,也不能在锁定屏幕下运行。无人值守机器人可以在远程虚拟环境中无人值守地运行,并且可以负责远程执行、监控、调度以及为工作队列提供支持。
编排器14控制以及编排多个机器人12a-c的执行。因此,编排器14可以具有各种能力,包括但不限于供应、部署、配置、调度、排队、监控、日志记录和/或为机器人12a-c提供互连性。供应可以包括创建和维护机器人12a-c与编排器14之间的连接。部署可以包括确保将软件(例如,RPA脚本42)正确递送给机器人12a-c以用于执行。配置可以包括机器人环境、资源和工作流配置的维护和递送。调度可以包括配置机器人12a-c以根据特定调度(例如,在一天中的特定时间、在特定日期、每天等)来执行各种任务。排队可以包括提供对作业队列的管理。监控可以包括跟踪机器人状态和维护用户权限。日志记录可以包括将日志存储和编索引到数据库和/或其他存储机制(例如SQL、
Figure BDA0003924726510000083
)。编排器14还可以充当针对第三方解决方案和/或应用的集中通信点。
图2示出了根据本发明的一些实施例的机器人12和编排器14的示例性组件。示例性RPA机器人12是使用来自微软公司(Microsoft,Inc.)的
Figure BDA0003924726510000084
工作流基础应用编程接口(
Figure BDA0003924726510000085
Workflow Foundation Application Programming Interface)来构建的。机器人12可以包括一组执行器22和RPA代理24。机器人执行器22被配置为接收指示模仿人类操作员动作的RPA活动序列的(多个)RPA脚本42,以及在相应的客户端机器上自动执行相应的活动序列。在一些实施例中,(多个)机器人执行器22包括解释器(例如,即时解释器或编译器),该解释器被配置为将(多个)RPA脚本42翻译成运行时对象,该运行时对象包括用于执行被编码在相应的(多个)脚本中的RPA活动的处理器指令。因此,执行(多个)脚本42可以包括:(多个)执行器22翻译(多个)RPA脚本42以及指示相应主机的处理器将所产生的运行时封装包加载到存储器中以及启动运行时封装包以执行。
RPA代理24可以管理(多个)机器人执行器22的操作。例如,RPA代理24可以根据来自人类操作员的输入和/或根据调度表来选择由(多个)机器人执行器22执行的任务/脚本。代理24可以启动和停止作业以及配置(多个)执行器22的各种操作参数。在机器人12包括多个执行器22时,代理24可以编排它们的活动和/或过程间通信。RPA代理24还可以管理RPA机器人12、编排器14和/或其他实体之间的通信。
Figure BDA0003924726510000091
环境中执行的一些实施例中,机器人12默认安装Microsoft
Figure BDA0003924726510000092
服务控制管理器(SCM)管理的服务。因此,这些机器人可以在本地系统账户下打开交互式
Figure BDA0003924726510000093
会话,并且具有
Figure BDA0003924726510000094
服务的处理器权限。例如,控制台应用可以由SCM管理的机器人启动。在一些实施例中,机器人12可以被安装在处理器权限的用户级别(用户模式,环3(ring 3))。这样的机器人具有与安装了相应机器人的用户相同的权利。例如,这样的机器人可以启动相应用户可以启动的任何应用。在支持多个并发交互会话的计算系统(例如,
Figure BDA0003924726510000095
服务器2012)上,多个机器人可以使用不同的凭证同时运行,每个机器人都在分离的
Figure BDA0003924726510000096
会话中。这样的凭证可以经由RPA资源规范44来供应(参见上文,结合图3)。
在一些实施例中,机器人12和编排器14可以以客户端-服务器配置来执行。应当注意,客户端侧、服务器侧或两者都可以包括任何期望数目的计算系统(例如,物理机或虚拟机)而不偏离本发明的范围。在这样的配置中,包括(多个)执行器22和RPA代理24的机器人12可以在客户端侧上执行。机器人12可以同时运行数个作业/工作流。RPA代理24(例如,
Figure BDA0003924726510000101
服务)可以充当执行器22的单个客户端侧的联系点。代理24还可以管理机器人12与编排器14之间的通信。在一些实施例中,通信由代理24发起,该通信可以打开去往编排器14的WebSocket通道。随后代理24可以使用该通道将关于每个执行器22的状态的通知(例如像心跳信号)传送到编排器14。反过来,编排器14可以使用该通道向机器人12传送确认、作业请求和其他诸如(多个)RPA脚本42和资源元数据的数据。
编排器14可以在可能分布在多个物理机和/或虚拟机上的服务器侧上执行。在一个这样的实施例中,编排器14可以包括可以是网页应用的编排器用户界面(UI)17,以及服务模块19的集合。以下讨论编排器UI的几个示例。服务模块19可以包括开放数据协议(OData)表示状态传送(REST)应用编程接口(API)端点的集合,以及服务API/业务逻辑的集合。用户可以经由编排器UI 17来与编排器14交互(例如,通过在浏览器上打开专用的编排器界面),以指示编排器14执行各种动作,例如该动作可以包括在所选择的机器人12上开始作业、创建机器人组/池、将工作流分配给机器人、向队列添加数据/从队列移除数据、调度作业以无人值守地运行、分析每个机器人或工作流的日志等。编排器UI 17可以使用超文本标记语言(HTML)、JavaScript(JS)或本领域已知的任何其他数据格式。
编排器14可以通过选择性地调用服务API/业务逻辑来执行由用户所请求的动作。此外,编排器14可以使用REST API端点来与机器人12通信。REST API可以包括配置、日志记录、监控和排队功能。配置端点可以被用于限定和/或配置用户、机器人、权限、凭证和/或其他过程资源等。例如,日志记录REST端点可以被用于记录不同的信息,诸如错误、由机器人发送的显式消息和其他特定环境信息。部署REST端点可以被机器人用来查询要被执行的(多个)RPA脚本42的版本。排队REST端点可以负责队列和队列项目管理,诸如向队列添加数据、从队列中获得事务、设置事务的状态等。监控REST端点可以监控编排器14的网页应用组件和RPA代理24。
在一些实施例中,RPA环境10(图1)还包括连接到RPA数据库18的数据库服务器16。在云计算平台上提供服务器16的实施例中,服务器16可以被体现为数据库服务,例如体现为具有数据库连接器集合的客户端。数据库服务器16被配置为选择性地在数据库18中存储与RPA环境10相关的数据和/或从数据库18中检索与RPA环境10相关的数据。这样的数据可以包括各种单个机器人或机器人池的配置参数、以及表征由各个机器人执行的工作流的数据、将工作流与负责执行它们的机器人相关联的数据、表征用户、角色、调度表、队列等的数据。由数据库服务器16存储和/或检索的另一示例性数据类别包括表征每个执行机器人的当前状态的数据。由数据库服务器16存储和/或检索的另一示例性数据类别包括表征各种工作流所需的RPA资源的RPA资源元数据,例如各种资源属性(诸如文件名、位置、凭证等)的默认值和/或运行时值。另一示例性数据类别包括由各个机器人在执行期间记录的消息。数据库服务器16和数据库18可以采用本领域已知的任何数据存储协议和格式,诸如结构化查询语言(SQL)、
Figure BDA0003924726510000111
Figure BDA0003924726510000112
等等。在一些实施例中,数据例如经由日志记录REST端点由编排器14收集和管理。编排器14还可以向数据库服务器16发出结构化查询。
在一些实施例中,RPA环境10(图1)还包括将环境10的各个成员进行互连的通信信道/链路15a-e。可以根据本领域已知的任何方法来实现这样的链路,例如作为虚拟网络链路、虚拟专用网络(VPN)或端到端隧道。一些实施例进一步加密在一些或所有链路15a-e上循环的数据。
本领域技术人员将理解RPA环境10的各种组件可以在不同的主机计算机系统(物理设备和/或虚拟机)上被实现和/或执行。图4示出了根据本发明的一些实施例的各种这样的RPA主机系统20a-e。每个主机系统20a-e表示至少具有硬件处理器和用于存储处理器指令和/或数据的存储器单元的计算系统(个体计算设备或互连的计算机的集合)。示例性RPA主机20a-c包括公司大型计算机、个人计算机、膝上型计算机和平板计算机、移动电信设备(例如,智能手机)和电子书阅读器等等。如项目20d-e所图示的其他示例性RPA主机包括云计算平台,该云计算平台包括根据平台特定协议来集中管理的多个互连服务器计算机系统。客户可以使用平台特定接口/软件层/库(例如,软件开发工具包-SDK、插件等)和/或平台特定的命令语法来与这种云计算平台交互。示例性平台特定接口包括
Figure BDA0003924726510000121
SDK和
Figure BDA0003924726510000122
SDK等等。RPA主机20a-e可以通过诸如互联网的通信网络13来可通信地耦合。
图5示出了根据本发明的一些实施例的由编排器UI 17展示的示例性视图。UI 17可以包括菜单区域32,该菜单区域32使得用户能够设置和配置RPA的各个方面,例如管理机器人12a-c的单个实例、将机器人12a-c分配给特定机器(图4中的RPA主机20a-e)、上传和配置RPA封装包40、定位或创建各种过程资源等。图5中所图示的示例性视图被配置用于封装包管理。在一些实施例中,RPA封装包40(例如,也参见图2和图3)由相应封装包的开发者和/或由编排器14的管理员上传到编排器14。示例性UI 17可以列出所上传的封装包40并且展示用于上传其他封装包的控件。在一些实施例中,点击单个封装包名称/图标可以允许用户进一步探索相应封装包的内容和/或配置相应封装包。在一个这样的示例中,单击封装包名称(例如,图5中的“每周发票”)会展示列出相应工作流所需资源的子菜单和/或附加用户界面,进一步示出表征每个资源的各种元数据(例如,每个资源的默认和/或运行时位置)。
图6示出了根据本发明的一些实施例的由编排器UI 17展示的另一示例性视图,所图示的视图实现RPA资源的管理,即,执行各种工作流所需的资源。UI 17可以展示使得用户能够按类型(例如,队列、文件、凭证等)列出资源的菜单34,和/或使得用户能够按位置列出资源的另一菜单36。位置菜单36可以包括一组图标和/或面向用户的位置名称,例如被布置为包括文件夹和子文件夹的文件系统,如图6中所图示。术语“面向用户的名称”在本文中被用来指示显示给用户的屏幕上的名称、别名或标签,而不是实际的文件名或存储/网络位置。一些面向用户的名称可能与实际文件名、文件系统路径或网络地址一致。位置菜单36的每个菜单项目(诸如由面向用户的名称“日本发票”所标识的文件夹)可以表示不同的存储位置,例如本地或远程文件系统的不同文件夹,或者存储介质或存储器的可寻址单元。所述存储位置可以是RPA主机系统的部分,或者可以可通信地耦合到RPA主机系统,该RPA主机系统执行当前负责执行相应工作流的机器人。
在一些实施例中,由菜单36显示的位置名称可以标识针对(多个)相应资源的默认位置名称,即,由相应RPA工作流的开发者在设计时指示并包括在资源规范44中的位置名称。在其他实施例中,所显示的位置名称表示运行时位置名称,即,在相应工作流被执行时相应资源实际驻留的地方的面向用户的位置名称。如以下将进一步描述的,资源的运行时位置可能与开发者所指示的默认位置一致或不一致。在一些实施例中,资源可以由编排器UI 17的用户重新命名和/或重新定位,如下文详细示出的。在又一个示例性实施例中,菜单36可以显示针对每个资源的默认位置和运行时位置两者。
针对每个列出的资源50,UI 17可以显示相应资源的多个特性。在队列的示例性情况下,表征属性可以包括相应队列的面向用户的名称(图6中的“Q1”)以及各种资源使用数据,诸如使用相应队列的机器人/过程的列表、相应队列的默认位置和/或运行时位置、相应队列中的队列项目的总计数、到目前为止已经成功处理的队列项目的计数等。所显示的信息中的一些可以根据相关联RPA封装包的资源规范44中所限定的资源元数据来确定。
在一些实施例中,在图6中所图示的示例性视图中点击、轻触(或以其他方式激活)所选择的资源可以展示子菜单或附加用户界面,使得用户能够配置相应资源的各个方面。这种资源编辑UI的示例如下所示。
图7示出了根据本发明的一些实施例的由编排器UI 17显示的又一示例性视图。所图示的视图可以被显示作为用于配置机器人以用于执行的步骤序列的部分,例如在创建新的RPA过程时。本文中的术语“RPA过程”表示所选择的RPA机器人(或它在其上执行的RPA主机20a-e)与所选择的工作流之间的关联。换句话说,创建RPA过程包括将所选择的工作流分配给所选择的机器人或机器。
在一些实施例中,响应于接收RPA封装包,编排器14可以解析相应封装包的资源规范44以标识成功执行相应工作流所需的资源。在设计用于从发票中提取数据的工作流的一个示例中,机器人可以要求在预定位置处呈现发票队列;否则,尝试执行相应的机器人/工作流通常会导致错误。因此,相应队列被视为相应工作流或机器人的所需资源。在如图7中所图示的实施例中,编排器UI 17可以被配置为向用户显示根据与当前正在配置的相应工作流/RPA过程相关联的RPA封装包的资源规范44来确定的所需资源的列表。显示可以采取表格形式,其中每个资源可以被表示为表征相应资源的一行属性值/元数据52。例如,所显示的表征资源的元数据可以包括资源类型、面向用户的资源名称和相应资源的位置。在示例性实施例中,所显示的资源元数据52可以包括相应资源的默认位置、相应资源的运行时位置或两者。
在一些实施例中,编排器UI 17进一步显示指示相应资源的实例当前在运行时位置处是否可用的可用性指示符54。可用性指示符54可以包括文本标签、符号(例如,复选标记、问号等)或提示相应情形(例如,资源可用、丢失、未知等)的图标(例如,表情符号)。备选实施例可以使用受信号量启发的图形或符号来指示相应情形。例如,丢失的资源可以用红点来指示,而可用资源可以用绿点来指示,等等。
编排器UI 17的一些实施例进一步实现资源编辑机制,使得UI17的用户能够操作对过程资源的所选择的更改。在如图7中所图示的一个示例中,针对每个列出的资源,UI 17包括经由专用视觉元件56(诸如可点击图标或文本元素)激活的资源编辑控件。一些实施例可以仅针对所选择的资源类型和/或在所选择的情形中(例如,当相应的资源丢失或配置不完整时)显示元件56。在另一示例性实施例中,资源编辑机制(和/或视觉元件56的相关联显示)可以仅针对所选择的资源、所选择的工作流和/或所选择的机器人/RPA主机被激活。
在一些实施例中,激活资源编辑控件可以使UI 17显示分离的资源编辑UI,如图8-A至图8-B中所图示。图8-A图示了具有一组菜单项目的资源编辑菜单60a,其使得用户能够执行与相应过程资源相关的各种活动。在所图示的队列示例中,菜单尤其包括用于创建具有所需属性的队列对象、将项目上传到队列、复制和删除相应队列对象的选项。例如,图8-A进一步示出了选择用于配置相应资源的示例性菜单项目可以如何打开附加子菜单,这使得用户能够重新命名和/或重新定位相应资源。在该上下文中,重新定位资源指代重定向执行机器人以在新位置处查找相应资源,而不是实际将相应资源移动到新位置。在一些实施例中,重新定位包括更改诸如文件名和/或位置指示符(例如,文件系统路径)的资源元数据以指向新的运行时位置。
图8-B示出了使得用户能够重新定位所选择的过程资源的示例性资源编辑UI60b。UI 60b可以显示相应资源的各种默认特性(即,在设计时设置并在RPA封装包40中指定的默认值),诸如默认资源名称和默认位置,并且可以进一步显示控件,诸如表单字段62,其中用户可以输入针对相应资源的运行时位置指示符。在如图8-B中所图示的一些实施例中,尝试编辑过程资源可以使UI 17向用户显示警告对话框64,该警告对话框64指示其他当前配置的RPA过程是否会受到更改的影响,并请求来自用户的确认以便使更改生效。一些实施例可以进一步显示受影响过程的标识数据(例如,过程ID、名称等)并显示各种附加信息、提供帮助或指导等。
例如,在文件资源的情况下,示例性资源编辑操作可以包括在默认位置处创建相应文件的实例、重新命名相应文件、重新定位文件(即,将机器人重定向到新位置)、复制文件以及删除文件。针对其他资源类型,诸如网络连接/通信链路,资源编辑操作可以包括创建相应的连接和重新配置各种参数(例如,远程连接对等方的标识符、VPN凭证等)。
资源编辑机制的其他示例性实现可以包括使得用户能够通过点击/轻触当前显示的值并改写它来更改文本属性值(例如,面向用户的名称)。在另一示例中,UI 17可以使得用户能够通过点击/轻触其面向用户的名称并拖动到从位置菜单36(图6)中选择的项目(例如,文件夹)来重新定位资源。在这样的示例中,显示资源名称的UI元件可以构成资源编辑控件。
图9示出了根据本发明的一些实施例由编排器执行的示例性步骤序列。在通常的RPA部署场景中,开发者使用RPA设计应用30来设计工作流,例如用于从发票队列中提取特定数据的机器人活动序列。在一些实施例中,如图3中所示,设计应用输出包括相应机器人活动(RPA脚本42)的编码和资源规范44的RPA封装包40。然后,RPA封装包40通常被上传到执行编排器14和/或(多个)RPA机器人12的RPA主机系统20a-e。
响应于接收封装包40(步骤102),在步骤104中,编排器14可以解析规范44以标识RPA资源,即,RPA机器人成功执行相应工作流所需的资源。在所选择的示例中,所需的RPA资源可以包括队列对象或存储要被处理的发票的位置的指示符(例如,文件系统文件夹)。然后,编排器14可以循环通过所有经标识的资源(步骤106-108-110)以设置稍后将由编排器14和/或执行机器人用于管理相应资源的各种数据结构。
在一些实施例中,步骤110包括确定资源特性集合,即表征相应资源的元数据,诸如相应资源的名称和位置。一些这样的元数据被包括在规范44中;其他项目可以从包括在资源规范44中的信息中导出以及可能根据其他数据导出。图10图示了根据本发明的一些实施例的示例性资源元数据52。元数据52可以包括默认(或设计时)元数据集合和运行时元数据集合。设计时元数据包括在设计时(即,创建相应工作流时)设置的相应资源的特性。设计时元数据在本文中也被视为默认元数据。例如,开发者可以指示资源的默认名称(例如,图6-图7中被称为“Q1”的队列)和/或相应资源的默认位置。再次参考图6-图7中所图示的示例,队列Q1的默认位置可以在“日本发票”文件夹中。
与包括在资源规范44中的这种默认特性相比,运行时资源元数据表征相应资源的运行时实例。例如,运行时实例的名称和/或位置可能与默认的不同,各种原因在下文进一步概述。在一些实施例中,编排器14可以创建运行时元数据集合并将相应属性值的初始值设置为等于对应的默认/设计时值。例如,初始运行时位置可以与默认位置相同。然后,一些实施例使得编排器UI 17的用户能够在随后的时间例如经由如本文中所描述的资源编辑UI控件更改运行时值。
在一些实施例中,步骤110可以进一步创建与相应资源相关联的数据库条目集合,(多个)条目被存储在RPA数据库18(图1至图2)中并且包括资源元数据52。编排器14可以进一步建立对应的默认属性值与运行时属性值之间的映射,从而使得编排器14和/或负责执行相应工作流的RPA机器人能够基于默认值来解析相应的运行时值,反之亦然。本文中的映射一般表示将所选择的属性的默认值与其对应的运行时值相关联的任何方式(例如,资源的默认位置与相应资源的运行时位置)。示例性映射可以包括数据库条目(例如,表格的行),其中默认属性值与运行时属性值通过相同的查找索引(例如,行标签、资源名称等)来连接。熟练的技术人员将了解,可能存在许多技术上实现这种映射的方式,并且给定的示例不意味着限制。
响应于针对封装包40中指示的所有资源创建资源管理数据,在步骤112中,编排器14可以继续进行其他配置活动,例如分配所选择的机器人来执行相应工作流(从而限定RPA过程)、调度工作以及执行过程评估/监控活动。在进一步的步骤114中,编排器14可以使资源元数据对负责执行相应工作流的RPA机器人和/或对可能需要访问RPA封装包40中指定的至少一个资源的任何机器人可用。步骤114可以包括诸如经由客户端-服务器消息交换的任何传送数据的方法,,如上文关于图2所述。
图11示出了根据本发明的一些实施例由编排器14执行的示例性步骤序列。所图示的步骤序列可以作为初始过程配置的部分被执行(即,分配所选择的工作流以在所选择的机器人上执行),或者在用户决定重新配置现有RPA过程的任何稍后时间被执行。响应于接收指示配置所选择的过程的意图的用户输入(步骤122),在步骤124中,编排器14可以展示诸如图7中所图示的示例性GUI的资源管理界面。然后,编排器14可以循环通过相应工作流所需的每个RPA资源的步骤序列130-132-134-136。响应于选择资源(步骤130),步骤132可以确定具有相应资源的所需运行时特性的对象当前是否对负责执行相应工作流的机器人可用。在相应资源包括文件的示例中,步骤132可以确定具有相应资源的运行时文件名的文件是否存在于相应资源的运行时位置处。为了确定相应资源的各种默认和/或运行时特性,步骤132可以包括在RPA数据库18中查找与相应资源相关联的所选择的条目。
针对每个当前所选择的RPA资源,步骤134可以显示可用性指示符,例如如图7中所图示的项目54。进一步的步骤136可以显示资源编辑UI控件,使得用户能够更改所选择的资源的各种特性。参见例如图7中的控件56和上文的关联描述。
图12图示了根据本发明的一些实施例的由编排器14执行以使得用户能够执行这样的更改的示例性步骤序列。在步骤152中,编排器14可以接收激活资源编辑UI控件的用户输入(例如,图7中的用户点击/轻触控件56)。作为响应,一些实施例可以展示资源编辑界面,诸如图8-A和图8-B中所图示的示例性界面。在一些这样的实施例中,步骤156-158的序列可以确定编辑所选择的资源是否会影响其他RPA过程并且在“是”时显示警告。步骤156可以包括在RPA数据库18中查找将工作流和/或RPA资源与机器人相关联的特定条目,以标识被配置为使用相应RPA资源的其他过程或机器人。步骤158可以向用户显示警告(例如,图8-B中的对话窗口64)和/或关于在步骤156中标识的这种实体的描述性信息。
响应于在步骤160中接收确认编辑相应资源的效果的用户输入(例如,响应于用户在对话窗口64中点击/轻触“是”),步骤162可以接收用户提供的各种特性的运行时属性值,诸如面向用户的名称、文件名、位置和相应资源的版本。在进一步的步骤164中,编排器14可以更新与RPA数据库18中的相应资源相关联的运行时元数据。
图13示出了根据本发明的一些实施例的由负责执行所选择的RPA工作流的RPA机器人12(图2)执行的示例性步骤序列。机器人12可以循环通过构成相应工作流的所有RPA活动。针对在步骤176中选择的每个活动,步骤178可以确定当前活动是否需要访问RPA资源。为了说明的目的,以下段落将描述其中当前活动包括访问文件的示例。相应文件根据默认元数据被表征为文件X,以及根据运行时元数据被表征为文件Y(例如,相应文件的文件名和/或位置已由编排器14的用户更改,如上文所示)。
在步骤178返回“是”时,在步骤180中,针对表征相应资源的数据,机器人12可以查询编排器14,例如图2中的(多个)服务API 19。进一步的步骤182可以确定相应资源的运行时特性/元数据。熟练的技术人员将了解,步骤180-182可以以各种方式被执行,具体取决于哪一方实际确定相应的运行时元数据。在优选实施例中,编排器14可以向机器人12展示针对相应资源的默认属性值与运行时属性值之间的映射。然后机器人12可以根据RPA脚本42和/或规范44中所限定的相应资源的默认特性来主动使用相应映射以确定运行时元数据。换句话说,在这样的实施例中,机器人12可以向编排器14查询文件Y,即使用相应资源的运行时特性。这样的工作方式(modus operandi)可能是优选的,因为它维持机器人12和编排器14的传统客户端-服务器角色,并且不向编排器14赋予翻译元数据的额外负担。
在备选实施例中,机器人12可以根据相应资源的默认特性(例如,默认文件名、默认位置等)来制定对编排器14的查询。作为响应,编排器14可以使用默认到运行时的映射来确定相应资源的运行时特性,以及利用运行时元数据来响应机器人12。换句话说,在这样的实施例中,机器人12可以请求表征文件X的数据,但是接收表征文件Y的数据。
在步骤184中,机器人12可以执行当前的RPA活动,该RPA活动可以包括访问相应的RPA资源(例如,打开相应的
Figure BDA0003924726510000201
文件)。步骤186可以确定当前活动是否成功完成,并且在“是”时,机器人12可以返回到步骤172-174以前进到工作流中的下一活动。在步骤172得出相应工作流不包括任何进一步的活动的结论时,机器人12可以向编排器14传送指示相应作业的状态的报告。在步骤186已经确定错误已出现(例如,机器人12不能访问特定RPA资源)的情况下,一些实施例还向编排器14报告。进而,编排器14可以根据这些报告的内容来计算各个过程和/或资源管理的数量/统计,以及在编排器UI 17内显示这种信息(参见例如图6中所图示的资源使用数据)。
图14示出了计算设备80的示例性硬件配置,计算设备80被编程为执行本文中所描述的一些方法。设备80可以包括被配置为执行机器人12a-c和/或编排器14(图1)的任何RPA主机平台20a-e(图4)。所图示的设备80是个人计算机;诸如服务器、移动电话、平板计算机和可穿戴计算设备的其他计算设备可以具有稍微不同的配置。(多个)处理器82包括被配置为利用信号和/或数据集合来执行计算和/或逻辑操作的物理设备(例如,微处理器、形成在(多个)半导体衬底上的多核集成电路)。这样的信号或数据可以以处理器指令的形式(例如机器代码)被编码并被递送到(多个)处理器82。(多个)处理器82可以包括中央处理单元(CPU)和/或图形处理单元(GPU)阵列。
存储器单元83可以包括存储在执行操作的过程中由(多个)处理器82访问或生成的数据和/或指令编码的易失性计算机可读介质(例如,动态随机存取存储器-DRAM)。输入设备84可以包括计算机键盘、鼠标、触控板和麦克风等等,包括允许用户将数据和/或指令引入到设备80中的相应硬件接口和/或适配器。输出设备85可以包括诸如监视器和扬声器等的显示设备,以及诸如图形卡之类的硬件接口/适配器,使得相应的计算设备能够将数据传递给用户。在一些实施例中,输入和输出设备84-85共享公共硬件(例如,触摸屏)。存储设备86包括实现软件指令和/或数据的非易失性存储、读取和写入的计算机可读介质。示例性存储设备包括磁盘和光盘以及闪存设备,以及诸如CD和/或DVD盘和驱动器的可移动介质。(多个)网络适配器87包括用于在耦合到电子通信网络(例如,图4中的网络13)和/或其他设备/计算机系统的物理链路上传送数据的机械、电气和信号电路。(多个)适配器87可以被配置为使用多种通信协议来传送和/或接收数据。
控制器集线器90一般表示多个系统、外围设备和/或芯片组总线、和/或实现(多个)处理器82与设备80的其余硬件组件之间通信的所有其他电路。例如,控制器集线器90可以包括存储器控制器、输入/输出(I/O)控制器和中断控制器。取决于硬件制造商,一些这样的控制器可以被合并到单个集成电路中,和/或可以与(多个)处理器82集成。在另一示例中,控制器集线器90可以包括将处理器82连接到存储器83的北桥,和/或将处理器82连接到设备84、85、86和87的南桥。
上述示例性系统和方法通过提供用户友好的界面来促进RPA机器人的管理,以用于在几乎任何时候更改RPA资源(例如,文件、队列、数据库、凭证集等)的默认特性。例如,可编辑特性包括相应资源的名称、位置和版本等等。然后,这种更改被传播到执行需要访问相应资源的工作流的所有机器人。至关重要的是,一些实施例使得用户能够应用相应的更改而不必修改使用相应资源的工作流的规范。
在通常的RPA场景中,RPA开发者使用机器人设计应用来构建软件机器人,该软件机器人被配置为执行一系列诸如从发票集合中提取结构化数据、解析和组织传入的电子邮件等的活动。然后将相应机器人的规范传送到相应的RPA客户端,该RPA客户端可以是具有复杂计算基础设施的大型公司。通常,相应的RPA客户端操作被配置为管理多个机器人和工作流的执行的机器人编排器。一些RPA工作流需要访问诸如文件、队列、凭证等的各种资源。但是,相应机器人的开发者不知道也不应该知道客户端文件的位置或拥有访问它们的凭证。因此,在传统的RPA中,客户端侧的IT专业人员(诸如编排器管理员)通常负责将接收到的机器人规范适配到本地基础设施。
然而,更改机器人规范通常可能需要大量内部RPA知识,以及特别是机器人设计软件知识,即,远远超出普通IT专业人员的技能。备选地,对机器人进行更改可能需要与机器人开发者合作,这个过程可能缓慢且不切实际。
一些实施例通过使得客户端侧的用户能够独立于机器人规范来管理RPA资源并且通过为客户端侧的管理或RPA资源提供用户友好的用户界面来促进软件机器人的客户端侧的管理。一些实施例将新特征添加到编排器UI,从而方便地将RPA资源管理与机器人管理的其他方面(诸如调度和监控等)结合在一起。
在传统RPA中,尝试“开箱即用”执行机器人工作流可能会失败,因为针对执行所需的资源丢失了或配置错误。此外,客户端侧的RPA用户界面通常不知道这些故障的原因,除了可能会显示诸如“找不到文件”之类的通用错误消息。机器人可能会被预先配置为在设计时开发者设置的默认位置处查找特定资源(例如,文件、队列),但是传统的运行时界面可能未向用户显示这些信息。因此,试图使相应工作流适配到本地计算环境的特殊性的客户端侧的操作员可能难以发现相应工作流所需的类型或资源以及应如何配置它们以实现成功操作。
与这样的传统RPA相比,一些实施例提供了资源管理界面,该界面列出了所选择的工作流所需的所有资源,并且另外显示了可用性指示符,该可用性指示符示出了相应资源的运行时实例当前是否可用。这种信息有助于理解相应工作流的要求和配置选项而无需附加的文档。此外,可以显示资源可用性信息以准备用于执行相应工作流,从而允许客户端侧的用户主动预测和解决潜在问题,而不是对故障做出反应。
在一些实施例中,资源管理界面还展示了用于创建缺失资源的控件集合(例如,将所需文件上传到默认位置、创建队列和/或凭证对象、将VPN通道配置到远程资源等)。一些实施例进一步展示了资源编辑UI控件,其使得客户端用户能够更改所选择的RPA资源的各种特性,诸如文件名、面向用户的名称(即,显示在相应UI内的资源的标签/名称),以及相应资源的位置。例如,用户可以使用比开发者在设计时挑选的名称更具信息性的名称来重新命名资源。重新定位相应的资源可以显著促进将相应工作流适配到本地计算环境:客户端侧的用户可以简单地将机器人重定向到几乎任何存储位置,而不必使用开发者在设计时挑选的(多个)默认位置。这种用户友好的资源重定位机制可以例如允许在不同的目标文件/文件夹上执行相同工作流的不同实例,而无需更改相应工作流的规范。
一些实施例通过维护每个资源的默认特性(即,诸如文件名和开发者在设计时挑选的位置的特性)和相应资源的运行时特性(即,相应实例的运行时实例的特性,其可以由客户端一侧的用户编辑)来实现资源编辑机制。在一些实施例中,执行机器人可以经由消息交换来与编排器通信,其中机器人发送根据所选择的资源的默认特性来制定的请求。作为响应,编排器可以将映射展示给机器人,从而使得机器人能够确定相应资源的运行时特性。
本领域技术人员将清楚,在不脱离本发明的范围的情况下,可以以多种方式改变上述实施例。因此,本发明的范围应由所附权利要求及其合法等效物来确定。

Claims (19)

1.一种包括采用计算机系统的至少一个硬件处理器来执行机器人过程自动化RPA编排器的方法,所述机器人过程自动化RPA编排器被配置为管理多个软件机器人,并且还被配置为:
接收RPA封装包,所述RPA封装包包括RPA工作流的编码和由所述RPA工作流要求的RPA资源的默认位置的指示符,其中所述RPA资源包括从由计算机文件、队列和数据库组成的组选择的项目;以及
将用于执行的所述RPA工作流分配给所述多个软件机器人中的所选择的机器人,其中将所述RPA工作流分配给所述所选择的机器人包括,在准备执行所述RPA工作流时:
确定所述RPA资源的运行时实例是否在所述默认位置处可用,以及
向用户展示编排器用户界面UI,所述编排器UI根据所述确定的结果来显示所选择的资源可用性指示符。
2.根据权利要求1所述的方法,其中所述RPA编排器还被配置为维护所述RPA资源的默认特性集合与所述RPA资源的运行时特性集合之间的映射,其中:
默认特性根据所述RPA封装包的内容而被确定,并且包括所述RPA资源的所述默认位置;
运行时特性表征所述RPA资源的所述运行时实例,并且包括所述运行时实例的位置;并且
所述映射将所述默认位置与所述运行时实例的所述位置相关联。
3.根据权利要求2所述的方法,其中所述RPA编排器还被配置为:
根据所述映射来确定所述RPA资源的所述运行时实例的所述位置;以及
向所述所选择的机器人传送所述运行时实例的所述位置的指示符。
4.根据权利要求3所述的方法,其中所述RPA编排器还被配置为:
根据为了执行而被分配给所述多个软件机器人中的另一机器人的另一工作流是否要求所述RPA资源来标识所述另一机器人;以及
作为响应,将所述运行时实例的所述位置的所述指示符传送给所述另一机器人。
5.根据权利要求2所述的方法,其中所述RPA编排器还被配置为向所述所选择的机器人展示所述映射。
6.根据权利要求2所述的方法,其中所述编排器UI还被配置为显示资源编辑控件,所述资源编辑控件使得所述用户能够输入所述RPA资源的所述运行时实例的所述位置。
7.根据权利要求6所述的方法,其中激活所述资源编辑控件使所述RPA编排器:
根据为了执行而被分配给所述多个软件机器人中的另一机器人的另一工作流是否要求所述RPA资源来标识所述另一机器人;以及
作为响应,向所述用户显示警告消息,所述消息包括所述另一工作流的标识符或者所述另一机器人的标识符。
8.根据权利要求2所述的方法,其中:
默认特性还包括所述RPA资源的默认文件名;
运行时特性还包括所述RPA资源的所述运行时实例的文件名;
所述映射将所述默认位置文件名与所述运行时实例的所述文件名相关联;并且
所述编排器UI还被配置为显示资源编辑控件,所述资源编辑控件使得所述用户能够输入所述运行时实例的所述文件名。
9.根据权利要求2所述的方法,其中所述编排器UI还被配置为显示资源编辑控件,所述资源编辑控件使得所述用户能够向所述运行时实例的所述位置上传所述RPA资源的副本。
10.一种计算机系统,包括至少一个硬件处理器,所述至少一个硬件处理器被配置为执行RPA编排器,所述RPA编排器被配置为管理多个软件机器人,并且还被配置为:
接收RPA封装包,所述RPA封装包包括RPA工作流的编码和由所述RPA工作流要求的RPA资源的默认位置的指示符,其中所述RPA资源包括从包括计算机文件、队列和数据库的组选择的项目;以及
将用于执行的所述RPA工作流分配给所述多个软件机器人中的所选择的机器人,其中将所述RPA工作流分配给所述所选择的机器人包括,在准备执行所述RPA工作流时:
确定所述RPA资源的运行时实例是否在所述默认位置处可用,以及
向用户展示编排器用户界面UI,所述编排器UI根据所述确定的结果来显示所选择的资源可用性指示符。
11.根据权利要求10所述的计算机系统,其中所述RPA编排器还被配置为维护所述RPA资源的默认特性集合与所述RPA资源的运行时特性集合之间的映射,其中:
默认特性根据所述RPA封装包的内容而被确定,并且包括所述RPA资源的所述默认位置;
运行时特性表征所述RPA资源的所述运行时实例,并且包括所述运行时实例的位置;并且
所述映射将所述默认位置与所述运行时实例的所述位置相关联。
12.根据权利要求11所述的计算机系统,其中所述RPA编排器还被配置为:
根据所述映射来确定所述RPA资源的所述运行时实例的所述位置;以及
向所述所选择的机器人传送所述运行时实例的所述位置的指示符。
13.根据权利要求12所述的计算机系统,其中所述RPA编排器还被配置为:
根据为了执行而被分配给所述多个软件机器人中的另一机器人的另一工作流是否要求所述RPA资源来标识所述另一机器人;以及
作为响应,将所述运行时实例的所述位置的所述指示符传送给所述另一机器人。
14.根据权利要求11所述的计算机系统,其中所述RPA编排器还被配置为向所述所选择的机器人展示所述映射。
15.根据权利要求11所述的计算机系统,其中所述编排器UI还被配置为显示资源编辑控件,所述资源编辑控件使得所述用户能够输入所述RPA资源的所述运行时实例的所述位置。
16.根据权利要求15所述的计算机系统,其中激活所述资源编辑控件使所述RPA编排器:
根据为了执行而被分配给所述多个软件机器人中的另一机器人的另一工作流是否要求所述RPA资源来标识所述另一机器人;以及
作为响应,向所述用户显示警告消息,所述消息包括所述另一工作流的标识符或者所述另一机器人的标识符。
17.根据权利要求11所述的计算机系统,其中:
默认特性还包括所述RPA资源的默认文件名;
运行时特性还包括所述RPA资源的所述运行时实例的文件名;
所述映射将所述默认位置文件名与所述运行时实例的所述文件名相关联;并且
所述编排器UI还被配置为显示资源编辑控件,所述资源编辑控件使得所述用户能够输入所述运行时实例的所述文件名。
18.根据权利要求11所述的计算机系统,其中所述编排器UI还被配置为显示资源编辑控件,所述资源编辑控件使得所述用户能够向所述运行时实例的所述位置上传所述RPA资源的副本。
19.一种存储指令的非暂态计算机可读介质,所述指令在由计算机系统的至少一个硬件处理器执行时,使所述计算机系统执行RPA编排器,所述RPA编排器被配置为管理多个软件机器人,并且还被配置为:
接收RPA封装包,所述RPA封装包包括RPA工作流的编码和由所述RPA工作流要求的RPA资源的默认位置的指示符,其中所述RPA资源包括从包括计算机文件、队列和数据库的组选择的项目;以及
将用于执行的所述RPA工作流分配给所述多个软件机器人中的所选择的机器人,其中将所述RPA工作流分配给所述所选择的机器人包括,在准备执行所述RPA工作流时:
确定所述RPA资源的运行时实例是否在所述默认位置处可用,以及
向用户展示编排器用户界面UI,所述编排器UI根据所述确定的结果来显示所选择的资源可用性指示符。
CN202211368591.9A 2021-11-05 2022-11-03 将机器人过程自动化机器人动态绑定到资源的系统和方法 Pending CN116088818A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/453,805 2021-11-05
US17/453,805 US20230143922A1 (en) 2021-11-05 2021-11-05 Systems and Methods for Dynamically Binding Robotic Process Automation (RPA) Robots to Resources

Publications (1)

Publication Number Publication Date
CN116088818A true CN116088818A (zh) 2023-05-09

Family

ID=86187575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211368591.9A Pending CN116088818A (zh) 2021-11-05 2022-11-03 将机器人过程自动化机器人动态绑定到资源的系统和方法

Country Status (3)

Country Link
US (1) US20230143922A1 (zh)
JP (1) JP2023070148A (zh)
CN (1) CN116088818A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230222044A1 (en) * 2022-01-07 2023-07-13 Jpmorgan Chase Bank, N.A. System and method for automatically monitoring performance of software robots
CN117076091B (zh) * 2023-10-12 2024-01-26 宁波银行股份有限公司 一种多引擎接口调度方法及装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2023070148A (ja) 2023-05-18
US20230143922A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
US11593599B2 (en) Long running workflows for document processing using robotic process automation
US11704224B2 (en) Long running workflows for robotic process automation
US11709766B2 (en) Mocking robotic process automation (RPAactivities for workflow testing
JP5756520B2 (ja) コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム
US11442837B2 (en) Monitoring long running workflows for robotic process automation
CN116088818A (zh) 将机器人过程自动化机器人动态绑定到资源的系统和方法
US11343305B2 (en) Systems and methods of automating a file download activity
US11941419B2 (en) Systems and methods for robotic process automation of mobile platforms
CN113168356A (zh) 用于联络中心的统一支持框架
CN116483487A (zh) 基于浏览器的机器人过程自动化机器人设计界面
US10452371B2 (en) Automating enablement state inputs to workflows in z/OSMF
US20220067272A1 (en) Robotic Process Automation Systems and Methods Using A Helper Spreadsheet
CN116893807A (zh) 使用浏览器设计机器人流程自动化机器人的系统和方法
US11507059B1 (en) System and computer-implemented method for seamless consumption of automations
US20230108145A1 (en) Cloud migration
US20220191167A1 (en) Organizational modelling for routing rpa related services of an rpa cloud suite
US11966566B2 (en) Mapping interactive UI elements to RPA object repositories for RPA development
US20220091908A1 (en) Filter instantiation for process graphs of rpa workflows

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication