CN115885255A - 用于在客户场所上实现rpa服务的通用平台 - Google Patents
用于在客户场所上实现rpa服务的通用平台 Download PDFInfo
- Publication number
- CN115885255A CN115885255A CN202180004101.4A CN202180004101A CN115885255A CN 115885255 A CN115885255 A CN 115885255A CN 202180004101 A CN202180004101 A CN 202180004101A CN 115885255 A CN115885255 A CN 115885255A
- Authority
- CN
- China
- Prior art keywords
- rpa
- services
- installer
- computing systems
- delivery platform
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了用于操作RPA(机器人过程自动化)服务交付平台以用于在客户的场所上实现多个RPA服务的系统和方法。使用RPA服务交付平台来生成安装程序,该安装程序用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务。使用RPA服务交付平台来维护使用安装程序安装在一个或多个计算系统上的多个RPA服务中的一个或多个RPA服务。
Description
技术领域
本发明总体上涉及RPA(机器人过程自动化),并且更具体地涉及用于在客户场所上实现RPA服务的RPA服务交付平台。
背景技术
RPA(机器人过程自动化)服务(诸如,例如编排、设计和RPA机器人)可以作为SaaS(软件即服务)解决方案经由云提供给客户。有时,客户可能更喜欢本地实现这样的RPA服务以提供更统一的产品体验。常规地,RPA服务经由不同的交付和维护机制本地实现。然而,RPA服务的常规的本地实现需要大量的客户开销。
发明内容
根据一个或多个实施例,提供了用于操作RPA(机器人过程自动化)服务交付平台以用于在客户的场所上实现多个RPA服务的系统和方法。使用RPA服务交付平台来生成安装程序,该安装程序用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务。使用RPA服务交付平台来维护使用安装程序安装在一个或多个计算系统上的多个RPA服务中的一个或多个RPA服务。在一个实施例中,通过装载、建立和测试多个RPA服务来生成安装程序。所述生成可以由RPA服务交付平台的建立时间组件执行,并且所述维持可以由RPA服务交付平台的运行时间组件执行。
在一个实施例中,可以根据RPA服务交付平台的运行时间架构来运行多个RPA服务中的一个或多个RPA服务。运行时间架构包括:基础组件,用于运行计算集群的;RPA服务交付平台组件,用于在计算集群上针对多个RPA服务中的一个或多个RPA服务执行操作;以及RPA服务,包括多个RPA服务中的一个或多个RPA服务。
在一个实施例中,多个RPA服务包括以下至少一项:编排器,用于编排RPA工作流的执行;设计器,用于设计RPA工作流;或者RPA机器人,用于执行RPA工作流。
在一个实施例中,一个或多个计算系统具有网络连接性,并且多个RPA服务中的一个或多个RPA服务由安装程序安装在一个或多个计算系统上,该安装程序经由网络从注册表检索用于安装多个RPA服务中的一个或多个RPA服务的数据。在另一个实施例中,一个或多个计算系统不具有网络连接性,并且多个RPA服务中的一个或多个另一实施例由安装程序安装在一个或多个计算系统上,该安装程序包括用于安装多个RPA服务中的一个或多个RPA服务的数据。
通过参考以下详细描述和附图,本发明的这些和其它优点将对于本领域普通技术人员显而易见。
附图说明
图1是示出了图示根据本发明的实施例的机器人过程自动化(RPA)系统的架构图;
图2是示出了图示根据本发明的实施例的所部署的RPA系统的示例的架构图;
图3是示出了图示根据本发明的实施例的RPA系统的简化部署示例的架构图;
图4示出了图示根据本发明的实施例的用于实现机器人过程自动化机器人的基于云的管理的云RPA系统的架构图;
图5示出了根据一个或多个实施例的RPA服务交付平台的建立时间组件的说明性系统图;
图6示出了根据一个或多个实施例的RPA服务交付平台的运行时间组件的说明性系统图;
图7示出了根据一个或多个实施例的用于操作RPA服务交付平台的方法;以及
图8是可以用于实现本发明的实施例的计算系统的框图。
具体实施方式
机器人过程自动化(RPA)被用于使工作流和过程自动化。图1是根据一个或多个实施例的RPA系统100的架构图。如图1中所示,RPA系统100包括设计器102以允许开发者设计自动化过程。更具体地,设计器102促进RPA过程和用于在过程中执行活动的机器人的开发和部署。设计器102可以提供针对以下项的解决方案:应用集成;以及使第三方应用、管理信息技术(IT)任务和用于联络中心操作的业务过程自动化。设计器102的实施例的一个商业示例是UiPath StudioTM。
在设计基于规则的过程的自动化时,开发者控制执行次序和在过程中开发的定制步骤集之间的关系,在本文中被定义为“活动”。每个活动可以包括诸如点击按钮、读取文件、写入日志面板之类的动作。在一些实施例中,过程可以被嵌套或嵌入。
一些类型的处理可以包括但不限于序列、流程图、有限状态机(FSM)和/或全局异常处理程序。序列可能特别适合用于线性过程,使得能够在不使过程混乱的情况下从一个活动流向另一个活动。流程图可能特别适用于更复杂的商业逻辑,使得能够通过多个分支逻辑运算符以更多样的方式集成决策和连接活动。FSM可能特别适合用于大型工作流。FSM可以在其执行时使用有限数目的状态,这由条件(即,转变)或活动触发。全局异常处理程序可能特别适合用于在遇到执行错误时确定工作流行为并用于调试过程。
一旦在设计器102中开发了过程,商业过程的执行就由指挥器104编排,该指挥器编排执行在设计器102中开发的过程的一个或多个机器人106。指挥器104的实施例的一个商业示例是UiPath OrchestratorTM。指挥器220促进在RPA环境中管理资源的创建、监测和部署。在一个示例中,指挥器104是web应用。指挥器104还可以用作与第三方解决方案和应用的集成点。
指挥器104可以通过从集中点连接和执行机器人106来管理一群RPA机器人106。指挥器104可以具有各种能力,包括但不限于设置、部署、配置、排队、监测、记录和/或提供互连性。设置可以包括创建和有人值守机器人106与指挥器104(例如,web应用程序)之间的连接。部署可以包括确保将分组版本正确交付到所分配的机器人106以用于执行。配置可以包括机器人环境和过程配置的维护和交付。排队可以包括提供对队列和队列项的管理。监测可以包括保持对机器人标识数据的跟踪并维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,SQL数据库)和/或另一存储机制(例如,其提供存储和快速查询大数据集的能力)。指挥器104可以通过充当第三方解决方案和/或应用程序的集中通信点来提供互连性。
机器人106是运行在设计器102中建立的过程的执行代理。机器人106的一些实施例的一个商业示例是UiPath RobotsTM。机器人106的类型可以包括但不限于有人值守机器人108和无人值守机器人110。有人值守机器人108通过用户或用户事件触发,并且与人类用户一起在同一计算系统上操作。有人值守机器人108可以帮助人类用户完成各种任务,并且可以由人类用户和/或由用户事件直接触发。在有人值守机器人的情况下,指挥器104可以提供集中的过程部署和记录介质。在某些实施例中,有人值守机器人108仅根据“机器人托盘(tray)”或根据web应用中的命令进行启动。无人值守机器人110在虚拟环境中以无人值守模式操作,并且可以用于使许多过程自动化,例如用于高容量、后端过程等。无人值守机器人110可以负责远程执行、监测、调度和提供对工作队列的支持。有人值守和无人值守机器人两者可以使各种系统和应用自动化,包括但不限于大型机、web应用、VM、企业应用(例如,由 等生成的那些)和计算系统应用程序(例如,台式机和笔记本应用、移动设备应用,可穿戴计算机应用等)。
在一些实施例中,机器人106默认安装Microsoft服务控制管理器(SCM)管理的服务。结果是,这样的机器人106可以在本地系统帐户下打开交互式/>会话,并且具有/>服务的权限。在一些实施例中,机器人106可以被安装在具有与已安装了给定机器人106的用户相同的权限的用户模式中。
机器人106在一些实施例中被拆分成若干组件,每个组件专用于特定任务。机器人组件在一些实施例中包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理和命令行。SCM管理的机器人服务管理和监测会话,并且充当指挥器104与执行主机(即,机器人106在其上执行的计算系统)之间的代理。这些服务被信任并管理机器人106的凭证。控制台应用由本地系统下的SCM启动。用户模式机器人服务在一些实施例中管理并监测/>会话,并且充当指挥器104与执行主机之间的代理。用户模式机器人服务可以被信任并管理机器人106的凭证。如果没有安装SCM管理的机器人服务,则可以自动启动/>应用。执行器可以在/>会话下运行给定作业(例如,它们可以执行工作流),并且它们可以知道每监测器每英寸点数(DPI)设置。代理可以在系统托盘窗口中显示可用作业的/>Presentation Foundation(WPF)应用。代理可以是服务的客户端。代理可以请求开始或停止作业并改变设置。命令行是服务的客户端,并且是可以请求启动作业并等待其输出的控制台应用。拆分机器人组件可以帮助开发者,支持用户,以及使得计算系统能够更容易地运行、标识和跟踪每个机器人组件正在执行什么。例如,可以每机器人组件配置特殊行为,诸如针对执行器和服务建立不同的防火墙规则。作为另一示例,在一些实施例中,执行器可以知道每个监测器的DPI设置,结果是,可以在任何DPI处执行工作流,而不管在其上创建工作流的计算系统的配置。
图2示出了根据一个或多个实施例的RPA系统200。RPA系统200可以是图1的RPA系统100或可以是其一部分。应当注意,“客户端侧”、服务器侧”或两者可以包括任何期望数目的计算系统,而不脱离本发明的范围。
如本实施例中的客户端侧所示,计算系统202包括一个或多个执行器204、代理206和设计器208。在其它实施例中,设计器208可以不在同一计算系统202上运行。执行器204(其可以是如上所述的机器人组件)运行一个过程,并且在一些实施例中,多个业务过程可以同时运行。在该示例中,代理206(例如,服务)是用于管理执行器204的单个联系点。
在一些实施例中,机器人表示机器名与用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行的多个交互会话的计算(例如,服务器2012)上,多个机器人可以同时运行(例如,高密度(HD)环境),每个机器人在单独的/>会话中使用唯一的用户名。
代理206还负责发送机器人的状态(例如,周期性地发送指示机器人仍在工作的“心跳”消息)并下载要执行的分组的所需版本。代理206与指挥器212之间的通信在一些实施例中由代理206发起。在通知场景的示例中,代理206可以打开WebSocket信道,稍后由指挥器212使用该WebSocket信道来向机器人发送命令(例如,开始和停止等)。
如本实施例中的服务器侧所示,表示层包括web应用程序214、开放数据协议(OData)代表状态传输(REST)应用编程接口(API)端点216、以及通知和监测API 218。在服务器侧的服务层包括API实现/业务逻辑220。在服务器侧的持久层包括数据库服务器222和索引器服务器224。指挥器212包括web应用214、OData REST API端点216、通知和监测API218、以及API实现/业务逻辑220。
在各种实施例中,用户在指挥器212的接口中(例如,经由浏览器210)执行的大多数动作是通过调用各种API来执行的。这样的动作可以包括但不限于在机器人上启动作业、在队列中添加/移除数据、调度作业以无人值守地运行等。Web应用214是服务器平台的可视层。在该实施例中,web应用214使用超文本标记语言(HTML)和Javascript(JS)。然而,在不脱离本发明的范围的情况下,可以使用任何期望的标记语言、脚本语言或任何其它的格式。用户在该实施例中经由浏览器210与来自web应用214的网页交互,以便执行各种动作来控制指挥器212。例如,用户可以创建机器人组,将分组分配给机器人,分析每机器人和/或每过程的日志,开始和停止机器人等。
除了web应用214之外,指挥器212还包括暴露OData REST API端点216(或者,可以实现其它端点而不脱离本发明的范围)的服务层。REST API由web应用程序214和代理206两者使用。在该示例性配置中,代理206是客户端计算机上的一个或多个机器人的监督者。
本实施例中的REST API覆盖配置、记录、监测和排队功能。在一些实施例中,配置REST端点可以用于定义和配置应用用户、许可、机器人、资产、发布和环境。记录REST端点对于记录不同的信息是有用的,诸如错误、由机器人发送的显式消息和其它环境特定信息。如果在指挥器212中使用开始作业命令,则部署REST端点可以由机器人用来查询则应执行的分组版本。对REST端点进行排队可以负责队列和队列项管理,诸如向队列添加数据、从队列获得事务、设置事务的状态等。监测REST端点监测web应用214和代理206。通知和监测API218可以是REST端点,其用于注册代理206,向代理206交付配置设置,以及用于从服务器和代理206发送/接收通知。在一些实施例中,通知和监测API 218还可以使用WebSocket通信。
服务器侧的持久层在该说明性实施例中包括一对服务器–数据库服务器222(例如,SQL服务器)和索引器服务器224。在该实施例中,数据库服务器222存储机器人的配置、机器人组、相关联的过程、用户、角色、时间表等。在一些实施例中,通过web应用214来管理该信息。数据库服务器222还可以管理队列和队列项。在一些实施例中,数据库服务器222可以存储由机器人记录的消息(除了索引器服务器224以外或代替索引器服务器224)。在一些实施例中可选的索引器服务器224存储并索引由机器人记录的信息。在某些实施例中,可以通过配置设置禁用索引器服务器224。在一些实施例中,索引器服务器224使用该/>是开源项目全文搜索引擎。由机器人记录的消息(例如,使用诸如日志消息或写入线的活动)可以通过记录(多个)REST端点发送到索引器服务器224,在那里它们被索引以用于将来利用。
图3是示出了图示根据一个或多个实施例的RPA系统300的简化部署示例的架构图。在一些实施例中,RPA系统300可以分别是或可以包括图1和图2的RPA系统100和/或200。RPA系统300包括运行机器人的多个客户端计算系统302。计算系统302能够经由在其上运行的web应用与指挥器计算系统304通信。指挥器计算系统304又与数据库服务器306和可选的索引器服务器308通信。关于图2和图3,应当注意,虽然在这些实施例中使用了web应用,但是可以使用任何合适的客户端/服务器软件而不脱离本发明的范围。例如,指挥器可以运行与客户端计算系统上的非基于web的客户端软件应用通信的服务器侧应用。
在一个实施例中,可以实现图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机器人的任何其他编排任务。
图4示出了根据一个或多个实施例的用于实现RPA机器人的基于云的管理的云RPA系统400的架构图。云RPA系统400包括云计算环境402和本地计算环境404。本地计算环境404表示用户或任何其他实体(例如,公司,企业等)的本地网络架构。本地计算环境404包括本地网络406。云计算环境402表示在本地计算环境404处提供远离用户的工作负载的服务或处理的云计算网络架构。云计算环境402包括各种云网络,包括互联网414、表示由用户管理(或者,控制)并由云平台提供方托管的云网络的用户云网络418、以及表示由云服务提供方管理并由云平台提供方托管的云网络的云服务提供方云网络420。云服务提供方是经由云提供服务(例如,RPA)的实体。云平台提供方是维护云计算基础设施的实体。本地计算环境404的本地网络406通信地耦接到云计算环境402的互联网414,以促进本地计算环境404与云计算环境402之间的通信。
如图4所示,在云计算环境402中实现云编排器430以启用RPA机器人的基于云的管理。具体地,云编排器430由云服务提供方管理并在云计算环境402内的云服务提供方云网络420中托管。在一个实施例中,云服务提供方在本地计算环境404中向用户提供RPA。
云编排器430管理云计算环境402中的RPA机器人。具体地,用户与本地计算环境404中的计算设备412交互以将用于管理RPA机器人的指令发送到云计算环境402中的云编排器430。备选地,用户与本地计算环境404中的计算设备412交互,以在云编排器430上设置时间表,以代表用户自动发送用于管理RPA机器人的指令。用于管理RPA机器人的示例性指令包括用于创建RPA机器人、设置RPA机器人、调度RPA机器人上的任务(例如,调度用于执行该任务的时间和执行该任务的机器人的类型)、停止使用RPA机器人的指令,或者用于RPA机器人的任何其他编排指令。响应于接收到指令,云编排器430通过例如创建RPA机器人、设置RPA机器人、调度RPA机器人的任务、停止使用RPA机器人等来完成指令。在一个实施例中,云编排器430可以类似于图1的指挥器104、图2的指挥器212或图3的指挥器304,但是在云计算环境402内的云服务提供方云网络420中实现。
由云编排器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)。
云服务机器人428由云服务提供方云网络420中的云服务提供方维护,以用于针对本地网络环境404中的用户执行云计算环境402中的RPA任务。云服务机器人428是根据用户从计算设备412向云编排器430发送指令的请求而创建的。在创建时,云服务机器人428在等待执行任务(或者,工作流)的同时进入待机模式。当处于待机模式时,用于运行云服务机器人428的成本被最小化或以其他方式降低。通过用户将指令从计算设备412发送到云编排器430,任务在云服务机器人428上被调度。用于调度任务的指令定义了用于执行任务的时间和用于执行任务的机器人的类型。云服务机器人428从待机模式醒来以执行任务,并且一旦任务完成就返回待机模式。因此,云服务机器人428针对本地计算环境404中的用户执行云服务提供方云网络420上的任务。
云管理机器人424由用户在用户云网络418中维护,以用于在云计算环境402中针对本地网络环境404中的用户执行RPA任务。云管理机器人424在能力上类似于云服务机器人428,并且也被托管在云计算环境402中。然而,云管理机器人424托管在其上的用户云网络418由用户管理,而云服务机器人428托管在其上的云服务提供方云网络420由云服务提供方管理并由云平台提供方托管。云编排器430通过在云服务提供方云网络420与用户云网络418之间建立连接来管理云管理机器人424。用户云网络418可以由用户利用云提供方技术建立以隧穿回到本地网络406。用户可以建立从本地网络406到云服务提供方云网络420的专用网络连接。连通性通常是例如任意到任意(例如,因特网协议虚拟专用网)网络、点对点以太网网络、或者通过共址设施处的连通性提供方的虚拟交叉连接的形式。这些连接不通过公共因特网。这提供了比因特网上的典型连接更高的可靠性,更快的速度,一致的等待时间和更高的安全性。用户云网络418继续由用户完全控制和管理,从而向用户提供对数据的严格控制。
一旦云服务提供方云网络420与用户云网络418之间的连接已经建立,根据用户经由计算设备412与编排器430交互的请求来创建云管理机器人424。云管理机器人424在用户云网络418上创建。因此,云管理机器人424在用户云网络418上针对本地计算环境404中的用户执行任务。可以应用算法来最大化云管理机器人池422中的机器人的利用并降低用户的操作成本。
本地机器人410由本地网络406中的用户维护,用于为本地网络环境404中的用户执行RPA任务。本地网络406由用户控制或以其它方式管理。云编排器430通过标准HTTPS连接保持与本地机器人410的连接。
本文中所描述的实施例提供了用于在客户的场所上实现多个RPA服务的公共RPA服务交付平台。示例性RPA服务可包括用于编排RPA工作流的执行的编排器,用于设计RPA工作流的设计器,用于执行RPA工作流的RPA机器人,或者任何其它RPA产品或服务。这样的RPA服务可以使用例如图1的RPA系统100,图2的RPA系统200,图3的RPA系统300和/或图4的云RPA系统400来实现。RPA服务交付平台为RPA服务提供统一的交付机制,以便为客户提供一致的用户体验,并且便于故障排除和维护。RPA服务交付平台还提供跨作为套件提供的RPA服务的安装、软件版本生命周期管理(即,升级)的一致性、以及管理规模、高可用性和性能限制的一致性。
应当理解,虽然本文中所描述的实施例提供了用于在客户的场所上实现多个RPA服务的RPA服务交付平台,但是本发明不限于此。根据一个或多个实施例,可以提供服务交付平台以用于在客户的场所上实现任何产品或服务,而不限于RPA。
RPA服务交付平台包括两个组件:建立时间组件和运行时间组件。建立时间组件是用于生成安装程序的组件,该安装程序用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务。例如,建立时间组件包括用于装载、建立、测试和生成多个RPA服务的安装程序的工具和服务。运行时间组件是安装在客户的计算系统上的组件,该运行时间组件用于维护安装在客户的场所上的计算系统上的多个RPA服务中的一个或多个RPA服务。例如,运行时间组件包括用于管理基础设施和多个RPA服务的生命周期的工具和服务。RPA服务交付平台的建立时间组件和运行时间组件分别在图5和图6中示出,在下面详细描述。
图5示出了根据一个或多个实施例的RPA服务交付平台的建立时间组件的说明性系统图500。建立和交付管线502包括一个或多个储存库504和服务注册表506。存储库504存储从RPA服务团队508和/或RPA服务交付平台团队510接收的配置、清单和脚本,用于以编程方式安装和配置RPA服务交付平台的建立时间组件和运行时间组件。服务注册表506存储由RPA服务团队508接收(例如,发布或推送)的多个RPA服务(及其相关性)的测试和容器化图像。管线512是自动开发和操作作业,以验证存储在储存库504中的配置、清单和脚本,并且通过使用集群组件516和OSS(操作支持系统)组件518在测试环境514中进行E2E(端到端)测试来促进服务注册表506中存储的多个RPA服务的映像的开发、测试和发布。管线512由RPA服务交付平台团队510建立。
一旦被验证,管线512建立并发布一个或多个安装程序520,以用于安装脚本和/或大量的多个RPA服务。安装程序520使得客户能够按照客户的要求安装多个RPA服务中的任何或全部RPA服务。在一个实施例中,管线512建立多个不同类型和版本的安装程序。例如,管线512可以建立用于在具有互联网连接性的计算系统上安装多个RPA服务的第一安装程序和用于在不具有互联网连接性的气隙计算系统上安装多个RPA服务的第二安装程序。多个RPA服务遵循用于认证、发现、用户/租户/组织管理等的模式,以使得多个RPA服务能够被包括在单个安装程序520中。客户522(例如,客户的IT管理员)下载安装程序520并使用安装程序520在客户的场所上的硬件524(例如,一个或多个计算设备)上安装多个RPA服务中的一个或多个RPA服务以及其它组件。多个RPA服务使用ALM(应用生命周期管理)来配置,并且由终端用户528通过应用526来访问(例如,经由台式计算机或任何其它计算设备)。RPA服务支持团队530为硬件524和应用526提供按需故障排除支持。
图6示出了根据一个或多个实施例的RPA服务交付平台的运行时间组件的说明性系统图600。在运行时,RPA服务交付平台在机房上的硬件的计算节点604-A、604-B和604-C上的集群606上运行,其中集群606通过外部负载平衡器602访问。运行时间架构包括三层:基础组件(例如被实现为集群606)、平台组件608和RPA服务610。
基础组件是用于运行集群606的软件。例如,基础组件可包括硬件驱动器(例如,操作系统驱动器,图形处理单元驱动器等)、容器编排平台(例如,Kubernetes)、存储抽象提供方(例如,Longhorn)等。基础组件是在用于实现RPA服务交付平台的第一步骤期间安装的。
平台组件608是在集群606上运行的软件,用于针对所安装的RPA服务执行操作,说明性地被示出为操作1-13。例如,平台组件608可以执行诸如安全性、可扩展性、故障修复、资源控制、ALM、监测、配置管理、集群管理、消息代理、集中式高速缓存等操作。在集群606运行之后,在用于实现RPA服务交付平台的第二步骤期间安装平台组件608。
RPA服务610是在集群606上运行的多个RPA服务。例如,如图6中所示,RPA服务610可以包括编排服务、第一方平台服务和产品服务。RPA服务610可以使用平台组件608的输出来运行。在第三步骤期间安装RPA服务610,以用于实现由客户定义的RPA服务交付平台。RPA服务交付平台确保在RPA服务610被安装和配置之前RPA服务610中的所有RPA服务被安装和准备好。
租户工作负载612表示用于运行RPA服务610的租户的工作负载。例如(如图6中所示)租户工作负载612示出了用于服务和训练租户T1、T2和T3的机器学习模型的工作负载。
在一些实施例中,客户可以安装附加的组件或服务,例如,以提高稳定性、安全性和可维护性。例如,可以将外部负载平衡器602安装到平衡节点604-A、604-B和604-C以用于运行集群606,可以安装外部存储装置614-A以存储来自平台组件608的备份作业的备份,可以安装遥测614-B、外部SQL(结构化查询语言)服务器614-C和外部机密数据库614-D以存储来自RPA服务610的数据,可以安装日志索引器614-E以索引来自集群606的日志,并且可以安装警报网关614-F以从平台组件608的警报管理器生成警报。也可以考虑其它组件或服务。
图7示出了根据一个或多个实施例的用于使用RPA服务交付平台在客户的场所上实现多个RPA服务的方法700。方法700可由诸如图8的计算系统800的任何合适的一个或多个计算设备执行。在一个实施例中,方法700的步骤由RPA服务交付平台执行。
在步骤702,使用RPA服务交付平台来生成安装程序,该安装程序用于在用户的场所上的一个或多个计算系统上安装多个RPA服务。例如,多个RPA服务可以包括:编排器,用于编排RPA工作流的执行;设计器,用于设计RPA工作流;RPA机器人用于执行RPA工作流,或者任何其它RPA产品或服务。
在一个实施例中,安装程序是通过针对多个RPA服务装载、建立、测试和生成安装程序来生成的。安装程序由RPA服务交付平台的建立时间组件生成。在一个示例中,建立时间组件可以是图5中所示的建立时间组件。
在步骤704,使用RPA服务交付平台来维护使用安装程序安装在一个或多个计算系统上的多个RPA服务中的一个或多个RPA服务。一个或多个RPA服务由RPA服务交付平台的运行时间组件维护。在一个示例中,运行时间组件可以是图6中所示的运行时间组件。一个或多个RPA服务可能已由执行捆绑多个RPA服务的安装程序的客户安装。一旦安装,一个或多个RPA服务可以由运行时间组件运行、升级和/或以其他方式维护。
使用运行时间架构的基础组件、RPA服务交付平台组件和RPA服务来维护一个或多个RPA服务。基础组件在一个或多个主机计算系统上运行,以用于运行RPA服务交付平台组件和RPA服务在其上运行的计算集群。RPA服务交付平台组件针对RPA服务执行各种操作。RPA服务是一个或多个已安装的RPA服务。
在一个实施例中,在一个或多个计算系统具有网络连接性(例如,到互联网网)的连接环境中,安装程序可以经由网络传送到一个或多个计算系统,并且可以经由网络从注册表检索用于安装一个或多个RPA服务的数据。在另一个实施例中,在一个或多个计算系统不具有网络连接性(例如,到互联网)的气隙环境中,安装程序可以被安全地传送到一个或多个计算系统(例如,经由非网络机制),并且可包括用于安装一个或多个RPA服务的数据。
图8是示出了计算系统800的框图。根据本发明的一个或多个实施例,计算系统800可被配置成执行本文中所描述的方法、工作流和过程,包括图7的方法700,或者可以被配置为实现本文中所描述的系统,包括RPA服务交付平台。在一些实施例中,计算系统800可以是在本文中描绘和/或描述的一个或多个计算系统。计算系统800包括总线802或用于传送信息的其它通信机制,以及耦接到总线802用于处理信息的(多个)处理器804。(多个)处理器804可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA、图形处理单元(GPU)、其多个实例和/或其任何组合。(多个)处理器804还可以具有多个处理核,并且核中的至少一些可以被配置为执行特定功能。在一些实施例中可以使用多并行处理。
计算系统800还包括用于存储将由处理器804执行的信息和指令的存储器806。存储器806可以由以下项的任何组合组成:随机存取存储器(RAM)、只读存储器(ROM)、闪存、高速缓冲存储器、诸如磁盘或光盘的静态存储装置、或者任何其它类型的非暂态计算机可读介质或其组合。非暂态计算机可读介质可以是可以由(多个)处理器804访问的任何可用介质,并且可以包括易失性介质、非易失性介质或两者。介质也可以是可移动的、不可移动的或两者兼备。
另外,计算系统800包括通信设备808,诸如收发器,以根据任何当前存在的或将来实现的通信标准和/或协议经由无线和/或有线连接提供对通信网络的访问。
处理器804还经由总线802耦接到适于向用户显示信息的显示器810。显示器810还可以被配置为触摸显示器和/或任何合适的触觉I/O设备。
键盘812和诸如计算机鼠标,触摸板等光标控制设备814还耦接到总线802,以使用户能够与计算系统对接。然而,在某些实施例中,可以不存在物理键盘和鼠标,并且用户可以仅通过显示器810和/或触摸板(未示出)与设备交互。输入设备的任何类型和组合可以用作设计选择的问题。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与其通信的另一计算系统远程地与计算系统800交互,或者计算系统800可以自主地操作。
存储器806存储在由处理器804执行时提供功能的软件模块。这些模块包括用于计算系统800的操作系统816和被配置为执行在本文中所描述的所有或部分过程或其派生物的一个或多个附加功能模块818。
本领域的技术人员将理解的是,“系统”可以被具体实现为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、量子计算系统或任何其它合适的计算设备或设备的组合,而不脱离本发明的范围。将上述功能呈现为由“系统”执行并不旨在以任何方式限制本发明的范围,而是旨在提供本发明的许多实施例的一个示例。实际上,本文中所公开的方法、系统和装置可以以与计算技术一致的本地化和分布式形式实现,包括云计算系统。
应当注意,在本说明书中描述的一些系统特征已被呈现为模块,以便更具体地强调它们的实现独立性。例如,模块可以被实现为包括定制的超大规模集成(VLSI)电路或门阵列的硬件电路,诸如逻辑芯片、晶体管或其它分立元件的现成指挥器。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等的可编程硬件设备中实现。模块还可以至少部分地以由各种类型的处理器执行的软件实现。可执行代码的标识单元可以包括例如计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或函数。然而,所标识的模块的可执行程序不必物理地位于一起,而是可以包括存储在不同位置中的相异的指令,该指令在逻辑地结合在一起时包括模块并实现该模块的所述目的。此外,可以将模块存储在计算机可读介质上,计算机可读介质可以是例如硬盘驱动器、闪存设备、RAM、磁带、和/或用于存储数据的任何其他这种非暂态计算机可读介质,而不脱离本发明的范围。实际上,可执行代码模块可以是单条指令或多条指令,并且甚至可以分布在几个不同的代码段上,在不同的程序之间,以及跨几个存储器设备。类似地,操作数据可以在本文中在模块内被标识和说明,并且可以以任何合适的形式被具体化并被组织在任何合适类型的数据结构内。可以收集操作数据作为单个数据集,或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为电信号存在于系统或网络上。
以上仅说明了本公开的原理。因此,将理解的是,本领域技术人员将能够设计出尽管未在本文中明确描述或示出,但具体实现本公开的原理并包括在其精神和范围内的各种布置。此外,在本文中所记载的所有示例和条件语言原则上仅旨在用于教学目的,以帮助读者理解本公开的原理和发明人为促进本领域而贡献的概念,并且应被解释为不限于这些具体记载的示例和条件。此外,在本文中记载本公开的原理、方面和实施例的所有陈述以及其特定示例旨在涵盖其结构和功能等同物。另外,这些等同物旨在包括当前已知的等同物以及将来开发的等同物。
Claims (21)
1.一种用于操作RPA(机器人过程自动化)平台的计算机实现的方法,包括:
使用所述RPA服务交付平台来生成用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务的安装程序;以及
使用所述RPA服务交付平台来维护使用所述安装程序安装在所述一个或多个计算系统上的所述多个RPA服务中的一个或多个RPA服务。
2.根据权利要求1所述的计算机实现的方法,其中使用所述RPA服务交付平台来生成用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务的安装程序包括:
装载、建立和测试所述多个RPA服务。
3.根据权利要求1所述的计算机实现的方法,其中所述生成由所述RPA服务交付平台的建立时间组件执行,并且所述维护由所述RPA服务交付平台的运行时间组件执行。
4.根据权利要求1所述的计算机实现的方法,还包括根据所述RPA服务交付平台的运行时间架构来运行所述多个RPA服务中的所述一个或多个RPA服务,所述运行时间架构包括:基础组件,用于运行计算集群;RPA服务交付平台组件,用于针对所述多个RPA服务中的所述一个或多个RPA服务在所述计算集群上执行操作;以及RPA服务,包括所述多个RPA服务中的所述一个或多个RPA服务。
5.根据权利要求1所述的计算机实现的方法,其中所述多个RPA服务包括以下至少一项:编排器,用于编排RPA工作流的执行;设计器,用于设计RPA工作流;或者RPA机器人,用于执行RPA工作流。
6.根据权利要求1所述的计算机实现的方法,其中所述一个或多个计算系统具有网络连接性,并且所述多个RPA服务中的所述一个或多个RPA服务由所述安装程序安装在所述一个或多个计算系统上,所述安装程序经由网络从注册表检索用于安装所述多个RPA服务中的所述一个或多个RPA服务的数据。
7.根据权利要求1所述的计算机实现的方法,其中所述一个或多个计算系统不具有网络连接性,并且所述多个RPA服务中的所述一个或多个RPA服务由所述安装程序安装在所述一个或多个计算系统上,所述安装程序包括用于安装所述多个RPA服务中的所述一个或多个RPA服务的数据。
8.一种RPA(机器人过程自动化)服务交付平台,包括:
存储器,存储计算机程序指令;以及
至少一个处理器,被配置为执行所述计算机程序指令,所述计算机程序指令被配置为使所述至少一个处理器执行操作,所述操作包括:
生成用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务的安装程序;以及
使用所述安装程序来维护安装在所述一个或多个计算系统上的所述多个RPA服务中的一个或多个RPA服务。
9.根据权利要求8所述的系统,其中生成用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务的安装程序包括:
装载、建立和测试所述多个RPA服务。
10.根据权利要求8所述的系统,其中所述生成由所述RPA服务交付平台的建立时间组件执行,并且所述维护由所述RPA服务交付平台的运行时间组件执行。
11.根据权利要求8所述的系统,所述操作还包括根据所述RPA服务交付平台的运行时间架构来运行所述多个RPA服务中的所述一个或多个RPA服务,所述运行时间架构包括:基础组件,用于运行计算集群;RPA服务交付平台组件,用于针对所述多个RPA服务中的所述一个或多个RPA服务在所述计算集群上执行操作;以及RPA服务,包括所述多个RPA服务中的所述一个或多个RPA服务。
12.根据权利要求8所述的系统,其中所述多个RPA服务包括以下至少一项:编排器,用于编排RPA工作流的执行;设计器,用于设计RPA工作流;或者RPA机器人,用于执行RPA工作流。
13.根据权利要求8所述的系统,其中所述一个或多个计算系统具有网络连接性,并且所述多个RPA服务中的所述一个或多个RPA服务由所述安装程序安装在所述一个或多个计算系统上,所述安装程序经由网络从注册表检索用于安装所述多个RPA服务中的所述一个或多个RPA服务的数据。
14.根据权利要求8所述的系统,其中所述一个或多个计算系统不具有网络连接性,并且所述多个RPA服务中的所述一个或多个RPA服务由所述安装程序安装在所述一个或多个计算系统上,所述安装程序包括用于安装所述多个RPA服务中的所述一个或多个RPA服务的数据。
15.一种存储计算机程序指令的非暂态计算机可读介质,所述计算机程序指令当在至少一个处理器上被执行时使所述至少一个处理器实现用于执行操作的RPA(机器人过程自动化)服务交付平台,所述操作包括:
生成用于在位于客户的场所的一个或多个计算系统上安装多个RPA服务的安装程序;以及
维护使用所述安装程序安装在所述一个或多个计算系统上的所述多个RPA服务中的所述一个或多个RPA服务。
16.根据权利要求15所述的非暂态计算机可读介质,其中生成用于在位于客户的场所的一个或多个计算系统上安装所述多个RPA服务的安装程序包括:
装载、建立和测试所述多个RPA服务。
17.根据权利要求15所述的非暂态计算机可读介质,其中所述生成由所述RPA服务交付平台的建立时间组件执行,并且所述维持由所述RPA服务交付平台的运行时间组件执行。
18.根据权利要求15所述的非暂态计算机可读介质,其中所述操作还包括根据所述RPA服务交付平台的运行时间架构来运行所述多个RPA服务中的所述一个或多个RPA服务,所述运行时间架构包括:基础组件,用于运行计算集群;RPA服务交付平台组件,用于针对所述多个RPA服务中的所述一个或多个RPA服务在所述计算集群上执行操作;以及RPA服务,包括所述多个RPA服务中的所述一个或多个RPA服务。
19.根据权利要求15所述的非暂态计算机可读介质,其中所述多个RPA服务包括以下至少一项:编排器,用于编排RPA工作流的执行;设计器,用于设计RPA工作流;或者RPA机器人,用于执行RPA工作流。
20.根据权利要求15所述的非暂态计算机可读介质,其中所述一个或多个计算系统具有网络连接性,并且所述多个RPA服务中的所述一个或多个RPA服务由所述安装程序安装在所述一个或多个计算系统上,所述安装程序经由网络从注册表检索用于安装所述多个RPA服务中的所述一个或多个RPA服务的数据。
21.根据权利要求15所述的非暂态计算机可读介质,其中所述一个或多个计算系统不具有网络连接性,并且所述多个RPA服务中的所述一个或多个RPA服务由所述安装程序安装在所述一个或多个计算系统上,所述安装程序包括用于安装所述多个RPA服务中的所述一个或多个RPA服务的数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202111033732 | 2021-07-27 | ||
IN202111033732 | 2021-07-27 | ||
US17/449,096 | 2021-09-28 | ||
US17/449,096 US20230032516A1 (en) | 2021-07-27 | 2021-09-28 | Common platform for implementing rpa services on customer premises |
PCT/US2021/072868 WO2023009170A1 (en) | 2021-07-27 | 2021-12-13 | A common platform for implementing rpa services on customer premises |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115885255A true CN115885255A (zh) | 2023-03-31 |
Family
ID=85038263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004101.4A Pending CN115885255A (zh) | 2021-07-27 | 2021-12-13 | 用于在客户场所上实现rpa服务的通用平台 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230032516A1 (zh) |
EP (1) | EP4377800A1 (zh) |
CN (1) | CN115885255A (zh) |
WO (1) | WO2023009170A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076006A (zh) * | 2023-10-17 | 2023-11-17 | 北京智麟科技有限公司 | 一种基于云平台的本地化环境配置应用的方法及系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040060035A1 (en) * | 2002-09-24 | 2004-03-25 | Eric Ustaris | Automated method and system for building, deploying and installing software resources across multiple computer systems |
US8032880B2 (en) * | 2005-12-20 | 2011-10-04 | Microsoft Corporation | Multi-branch management for updating software |
US11120299B2 (en) * | 2016-01-27 | 2021-09-14 | Microsoft Technology Licensing, Llc | Installation and operation of different processes of an AI engine adapted to different configurations of hardware located on-premises and in hybrid environments |
US10503627B2 (en) * | 2017-10-30 | 2019-12-10 | Bank Of America Corporation | Robotic process automation enabled file dissection for error diagnosis and correction |
US10601956B2 (en) * | 2018-06-04 | 2020-03-24 | Cisco Technology, Inc. | Automatically and remotely on-board services delivery platform computing nodes |
US10860007B2 (en) * | 2018-07-17 | 2020-12-08 | Accenture Global Solutions Limited | Smart resource manager in unified automation platforms for robotic process automation |
US11244233B2 (en) * | 2018-08-29 | 2022-02-08 | Accenture Global Solutions Limited | Intelligent adaptor service in unified automation platforms for robotic process automation |
US11301224B1 (en) * | 2019-04-30 | 2022-04-12 | Automation Anywhere, Inc. | Robotic process automation system with a command action logic independent execution environment |
US11113095B2 (en) * | 2019-04-30 | 2021-09-07 | Automation Anywhere, Inc. | Robotic process automation system with separate platform, bot and command class loaders |
EP3963447B1 (en) * | 2019-06-04 | 2024-03-27 | Siemens Aktiengesellschaft | Supervisory device with deployed independent application containers for automation control programs |
US11321124B2 (en) * | 2019-12-23 | 2022-05-03 | UiPath, Inc. | On-demand cloud robots for robotic process automation |
US11982993B2 (en) * | 2020-02-03 | 2024-05-14 | Strong Force TX Portfolio 2018, LLC | AI solution selection for an automated robotic process |
US20220121982A1 (en) * | 2020-10-19 | 2022-04-21 | Bank Of America Corporation | Intelligent engines to orchestrate automatic production of robotic process automation bots based on artificial intelligence feedback |
US11775276B2 (en) * | 2020-10-27 | 2023-10-03 | Incentive Marketing Group, Inc. | Methods and systems for application integration and macrosystem aware integration |
US11514410B1 (en) * | 2021-05-18 | 2022-11-29 | CopyForward Inc. | Method and system for recording forward royalties using a distributed ledger |
US11829284B2 (en) * | 2021-06-07 | 2023-11-28 | International Business Machines Corporation | Autonomous testing of software robots |
-
2021
- 2021-09-28 US US17/449,096 patent/US20230032516A1/en active Pending
- 2021-12-13 EP EP21823474.8A patent/EP4377800A1/en active Pending
- 2021-12-13 CN CN202180004101.4A patent/CN115885255A/zh active Pending
- 2021-12-13 WO PCT/US2021/072868 patent/WO2023009170A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023009170A1 (en) | 2023-02-02 |
US20230032516A1 (en) | 2023-02-02 |
EP4377800A1 (en) | 2024-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210117895A1 (en) | Systems and Methods for Cross-Platform Scheduling and Workload Automation | |
CN113228020B (zh) | 调度机器人以用于机器人流程自动化 | |
US11803418B2 (en) | On-demand cloud robots for robotic process automation | |
CN114647485A (zh) | 机器人过程自动化(rpa)机器人的动态云部署 | |
US11403120B1 (en) | Enterprise process graphs for representing RPA data | |
US20230032516A1 (en) | Common platform for implementing rpa services on customer premises | |
US20220191167A1 (en) | Organizational modelling for routing rpa related services of an rpa cloud suite | |
US11971705B2 (en) | Autoscaling strategies for robotic process automation | |
US20220100539A1 (en) | On-demand cloud robots for robotic process automation | |
US20230102809A1 (en) | Preconfigured robots for robotic process automation | |
US20220091908A1 (en) | Filter instantiation for process graphs of rpa workflows | |
US20230101948A1 (en) | Generation of rpa platform design components for configuring rpa platforms | |
CN114430825A (zh) | 机器人流程自动化数据连接器 | |
JP2023093354A (ja) | ロボットをスケジューリングするためのクラウドトリガ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |