CN115455329A - 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 - Google Patents
一种b/s架构跨平台跨多端rpa设计器系统及实现方法 Download PDFInfo
- Publication number
- CN115455329A CN115455329A CN202211053152.9A CN202211053152A CN115455329A CN 115455329 A CN115455329 A CN 115455329A CN 202211053152 A CN202211053152 A CN 202211053152A CN 115455329 A CN115455329 A CN 115455329A
- Authority
- CN
- China
- Prior art keywords
- designer
- rpa
- node
- area
- remote desktop
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种B/S架构跨平台跨多端RPA设计器系统及实现方法,涉及信息技术领域,包括设计器前端和设计器后端,均以Docker容器形式部署在服务器端,前端包括节点组件区、工作画布区、桌面实时画面区,将节点组件区的节点和组件拖拽至工作画布区,对RPA流程机器人进行设计编排,将远程桌面实时画面展示到浏览器的对应区域;后端提供服务调用、数据计算、逻辑处理、节点调度等技术支撑,并接收Agent端发送的UI控件元素转送给设计器前端;Agent端运行在执行设备中,接收RPA拾取器拾取到的UI控件元素并发送设计器后端。本发明实现了一种B/S架构通过浏览器使用RPA设计器设计、开发、编排RPA流程机器人。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种B/S架构跨平台跨多端RPA设计器系统及实现方法。
背景技术
RPA既机器人流程自动化。主要是通过调用或模拟用户界面(GUI)操作技术,并利用可视化拖拽等低代码编程方式,结合OCR和NLP等人工智能技术,模拟并增强人与计算机的交互过程、执行基于一定规则、重复、量大任务的软件解决方案。RPA也被称为数字化劳动力(Digital Labor)、数字员工,是数字化建设的支撑性智能软件,完成了以往只有人类才能完成的工作,或者成为那些量大且重复、低效、低附加值、高强度工作的劳动力补充或替代者。
当前,RPA产品的核心主要是由RPA流程机器人设计器,RPA流程机器人管理控制台,RPA流程机器人执行器,RPA拾取器组成。设计人员用RPA流程机器人设计器,通过托拉拽低代码的方式设计、开发、编排RPA流程机器人数据的输入、读取、传递、校验、加工处理等,动作的执行顺序、触发条件等,逻辑的判断、条件的合并和分支等、节点或组件之间的关系、流向等。RPA流程机器人执行器主要负责执行由RPA流程机器人设计完成后可以发布或导出成可执行的文件或项目,按照RPA设计器设计编排好的条件、规则、逻辑、动作等自动模拟人工操作。RPA流程机器人管理控制台主要负责RPA流程机器人的管理、调度、启停、监控等。RPA拾取器主要负责应用UI控件元素的拾取,包括UI控件元素的名称、句柄、标题、ID、坐标、层级等信息。
当前,RPA流程机器人设计器主要是C/S架构(客户端/服务端架构),需要单独安装在计算机设备上(主要是安装在Windows系统上),通过安装RPA流程机器人设计器软件安装包进行RPA流程机器人的设计、开发和编排,设计开发完成后可以发布到服务端上架,或导出到本地。
现有基于C/S架构的RPA流程机器人设计器的架构体系和实现方法及系统,用户在使用时,需要单独下载设计器客户端的软件安装包,绝大部分是仅支持在Windows平台体系上安装和设计编排使用。要想兼容支持更多平台体系,比如要想在Linux、Unix、MacOS、HarmonyOS、IOS、Android等系统平台体系下使用RPA设计器,不仅需要设计器软件厂商针对每类平台做海量的适配性工作,而且存在部分系统平台无法适配的情况。
现有基于C/S架构体系的RPA流程机器人设计器在集中场景或情况下存在的问题是:(1)用户在使用RPA流程机器人设计器时,必须要单独下载软件安装包安装,无法做到免安装直接使用。(2)同一Windows系统平台体系,无法屏蔽不同版本的系统平台环境差异,都需要做一定的调整和适应。(3)仅支持在Windows平台体系上安装和使用设计器设计编排RPA流程机器人,不支持其他非Windows系统平台体系下跨平台使用RPA设计器。(4)仅支持在Windows平台的终端设备上使用设计器设计编排RPA流程机器人,不支持其他非计算机设备的跨多终端使用RPA设计器。(5)不支持多人同时在线使用同一个RPA流程机器人设计器,不支持多人协作设计同一RPA流程。(6)不支持随时随地在线使用设计器(设计器安装到服务器或个人台式等非便携式计算机上时)。(7)RPA流程机器人设计器无法安装运行在Docker等容器中。
发明内容
针对上述问题,本发明提供了一种B/S架构跨平台跨多端RPA设计器系统及实现方法,将RPA流程机器人设计器安装部署运行在Docker等容器中,可以进行弹性伸缩应对并发。可以通过以浏览器网络访问的方式设计和编排RPA流程机器人(形成B/S架构,即浏览器/服务器架构),而不需要在用户计算机等设备上安装RPA设计器,屏蔽了各种系统平台体系的差异性。可以支持在装有任意浏览器(Chrome,Firfox,360,IE11,Edge,Safari等浏览器)的不同终端设备上(计算机、平板、手机等)使用设计器设计开发、编排RPA流程机器人,同时也支持通过浏览器的方式在Linux、Unix、MacOS、HarmonyOS、IOS、Android等系统上使用设计器设计编排RPA流程机器人;实现跨异构操作系统平台体系、通过网络随时随地使用的RPA设计器。支持多人同时在线使用RPA设计器,也支持多人同时在线协作设计同一RPA流程。
为实现上述目的,本发明提供了一种B/S架构跨平台跨多端RPA设计器的实现方法,包括:依次通信连接的设计器前端、设计器后端和Agent端,所述设计器前端和所述设计器后端均以Docker容器的形式部署在服务器端,所述Agent端运行在执行设备中;
所述设计器前端包括节点组件区、工作画布区、桌面实时画面区,用于:
设计人员将所述节点组件区的节点和组件拖拽至工作画布区,对RPA流程机器人的节点、组件、逻辑、动作进行设计和编排;
连接所述执行设备的远程桌面,将远程桌面实时画面展示到设计人员操作页面的对应区域;
所述设计器后端用于:
对所述RPA流程机器人设计、编排过程提供技术支撑,包括服务调用、数据计算、逻辑处理、节点调度、数据存储,接收所述Agent端发送的UI控件元素并发送所述设计器前端;
所述Agent端用于:
接收RPA拾取器拾取到的UI控件元素并发送所述设计器后端。
作为本发明的进一步改进,所述设计器前端还包括工具栏区、属性面板区、调试及日志区;
所述工具栏区,用于:
提供公用函数和工具;
设置部署按钮,通过部署按钮将设计、编排后的RPA流程机器人持久化到所述设计器后端进行数据存储;
所述属性面板区,用于:
设置所述节点名称、属性、动作、变量和处理逻辑信息;
设置所述节点需拾取的UI控件类型;
展示所述Agent端发送来的UI控件元素;
所述调试及日志区,用于:
编辑测试数据,测试节点的功能,对节点错误、异常等信息进行展示、跟踪和记录。
作为本发明的进一步改进,所述设计器前端采用JavaScript模板引擎Mustache开发,所述设计器后端采用NodeJS的Express框架开发,所述Agent端采用Kotlin和Python开发。
作为本发明的进一步改进,所述设计器后端与所述Agent端通过HTTP/HTTPS或WebSocket或MQTT协议进行通讯和数据传输。
作为本发明的进一步改进,所述设计器前端和所述设计器后端均采用Grunt打包编译后移植在所述Docker容器中,包结构包括:设计器前端的包@node-rpa/editor-front、设计器后端的包@node-rpa/editor-api,运行时的包@node-rpa/runtime,公用函数和工具的包node-rpa/util,基础功能、内置逻辑、通用节点的包@node-rpa/nodes,用于节点管理、安装、依赖、注册、加载的包@node-rpa/registry。
本发明还提供了一种B/S架构跨平台跨多端RPA设计器的实现方法,包括:
由所述节点组件区向所述工作画布区拖入注入触发节点和桌面实时画面节点;
点击所述桌面实时画面节点,配置桌面实时画面连接的执行设备信息,将所述执行设备的远程桌面实时画面展示到所述桌面实时画面区;
由所述节点组件区向所述工作画布区拖入所需节点或节点组合,双击所述节点打开节点属性面板,并点击拾取,选择要拾取的UI控件类型;
在所述远程桌面实时画面中启动所述Agent端,所述Agent端的RPA拾取器移动到符合所述UI控件类型的UI控件元素上,拾取所述UI控件元素并发送给所述设计器后端,所述设计器后端再传递给所述设计器前端并展示在所述属性面板区;
在所述属性面板区继续设置所述节点的动作或处理逻辑,保存所述节点信息,在所述节点两端均拖入连接线,分别连接上一节点和下一节点,得到RPA流程机器人;
点击所述工具栏区的部署按钮,将所述RPA流程机器人持久化到所述设计器后端,点击所述注入触发节点,启动运行所述RPA流程机器人。
作为本发明的进一步改进,配置桌面实时画面连接的执行设备信息,将所述执行设备的远程桌面实时画面展示到所述桌面实时画面区;包括:
设计器后端接收所述设计器前端配置的执行设备信息,通过远程桌面网关服务与所述执行设备的服务端连接;
所述设计器前端通过WebSocket与所述设计器后端的远程桌面网关服务进行通信,以HTML5的方式将远程桌面实时画面展示到设计人员操作页面的所述桌面实时画面区中。
作为本发明的进一步改进,所述通过远程桌面网关服务与所述执行设备的服务端连接;包括:
所述设计器后端通过远程桌面网关服务选择对应的远程桌面协议和提供远程桌面网关服务的客户端连接;
在所述执行设备中安装并启动相应的远程桌面服务端服务;
通过远程桌面网关服务的客户端连接到远程桌面服务端,向执行设备的服务端传递远程桌面协议、端口、分辨率及是否允许操作;
所述执行设备的服务端连接所述端口,选择允许操作后,完成与所述设计器后端的连接。
作为本发明的进一步改进,所述节点组件区中节点的创建过程包括:
创建节点工程项目,修改项目的package.json文件,包括添加node-rpa标识、节点名称和节点路径;
在所述节点路径下创建所述package.json文件中节点对象的js文件;
在js文件中编写构造函数并实例化对象,注册为可用节点;
在所述节点上注册一个监听器并创建所述节点的html;
安装该节点并重启node-rpa服务,该节点出现在所述节点组件区。
作为本发明的进一步改进,还可实现多人同时在线设计RPA流程机器人,并分为多人同时在线设计RPA流程机器人中的不同RPA流程和多人同时在线设计RPA流程机器人中的同一RPA流程;包括:
管理员分配RPA设计器使用权限;
各用户分别登录RPA设计器,在所述RPA中心,点击流程新增;
设计器后端和设计器前端为多个用户对应创建多个相互独立的RPA设计器实例,各用户分别使用RPA设计器设计编排RPA流程机器人中自己所属的RPA流程;
或设计器后端和设计器前端创建一个RPA设计器实例并分配给多个用户,按逻辑功能单元将该RPA流程拆分成几个子流程,各用户设计编排一个所述子流程,最后按主流程串联起各个所述子流程。
与现有技术相比,本发明的有益效果为:
本发明基于B/S架构通过将RPA设计器部署运行在Docker容器中,用户计算机等设备上无需安装RPA设计器软件,直接在浏览器上就可以设计、开发、编排RPA流程机器人,不需要为不同平台、不同终端适配开发不同的组件模块、页面以及不同平台底层的适配,实现了一套方法及一个系统支持多种平台体系,解决了不同设备RPA设计器下载安装过程中的通用性和兼容性的问题,使RPA设计器的使用不受操作系统平台体系的限制,实现了RPA设计器跨全平台的应用,填补了RPA设计器在跨全平台领域的空白。
本发明解决了RPA设计器扩展性和灵活性的问题,不同终端下(计算机、平板、手机等)可以使用同一RPA设计器,同时也可以按要求自定义设计和增加扩展RPA设计器模块和组件,支持在Docker容器中部署和运行。
本发明将RPA设计器部署运行在Docker容器中,还便于RPA设计器的快速迁移、快速部署、快速分发、快速故障切换。
本发明的系统及实现方法提升了整体的运行效率,降低了研发成本,一套实现方法,一套RPA设计器系统,可以在不同的系统平台和终端上使用,不用为不同的平台系统做不同的适配,可以实现多人同时在线协助使用。
本发明的系统及实现方法解决了弹性伸缩的问题,通过部署运行在Docker容器的方式实现了自身实例的水平扩展,提高了RPA设计器的吞吐量和并发能力。
本发明通过浏览器访问服务地址(域名或IP地址),RPA设计器后端融合远程桌面网关服务,前端通过HTML5,实现与不同系统平台的实时交互。
附图说明
图1为本发明一种实施例公开的B/S架构跨平台跨多端RPA设计器系统示意图;
图2为本发明一种实施例公开的B/S架构跨平台跨多端RPA设计器的实现方法示意图;
图3为本发明一种实施例公开的RPA设计器服务调用工作示意图;
图4为本发明一种实施例公开的RPA设计器部署扩展架构示意图。
附图标记说明:
1、设计器前端;11、节点组件区;12、工具栏区;13、工作画布区;14、属性面板区;15、调试及日志区;16、桌面实时画面区;2、设计器后端;3、Agent端。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明提供的一种B/S架构跨平台跨多端RPA设计器系统,包括:依次通信连接的设计器前端1、设计器后端2和Agent端3,设计器前端1和设计器后端2均以Docker容器的形式部署在服务器端,Agent端3运行在执行设备中;
设计器前端1包括节点组件区11、工作画布区13、桌面实时画面区16,用于:
设计人员将节点组件区11的节点和组件拖拽至工作画布区13,对RPA流程机器人的节点、组件、逻辑、动作进行设计和编排;
连接执行设备的远程桌面,将远程桌面实时画面展示到设计人员操作页面的对应区域;
设计器后端2用于:
对RPA流程机器人设计、编排过程提供技术支撑,包括服务调用、数据计算、逻辑处理、节点调度、数据存储,接收Agent端3发送的UI控件元素并发送设计器前端1;
Agent端3用于:
接收RPA拾取器拾取到的UI控件元素并发送设计器后端2。
设计器前端1还包括工具栏区12、属性面板区14、调试及日志区15;其中,
工具栏区12,用于:
提供公用函数和工具;
设置部署按钮,通过部署按钮将设计、编排后的RPA流程机器人持久化到设计器后端2进行数据存储;
属性面板区14,用于:
设置节点名称、属性、动作、变量和处理逻辑信息;
设置节点需拾取的UI控件类型;
展示Agent端3发送来的UI控件元素;
调试及日志区15,用于:
编辑测试数据,测试节点的功能,对节点错误、异常等信息进行展示、跟踪和记录。
进一步的,
设计器前端1采用JavaScript模板引擎Mustache开发,拖拽式交互采用D3.js+JQuery开发,设计器后端2采用NodeJS的Express框架开发,Agent端3采用Kotlin和Python开发。
设计器后端2与Agent端3通过HTTP/HTTPS或WebSocket或MQTT等协议进行通讯和数据传输。
设计器前端1和设计器后端2均采用Grunt打包编译后移植在Docker容器中,包结构包括:设计器前端1的包@node-rpa/editor-front、设计器后端2的包@node-rpa/editor-api,运行时的包@node-rpa/runtime,公用函数和工具的包node-rpa/util,基础功能、内置逻辑、通用节点的包@node-rpa/nodes,用于节点管理、安装、依赖、注册、加载的包@node-rpa/registry。
如图2所示,本发明还提供了一种B/S架构跨平台跨多端RPA设计器的实现方法,应用上述一种B/S架构跨平台跨多端RPA设计器系统,包括:
由节点组件区11向工作画布区13拖入注入触发节点和桌面实时画面节点;
点击桌面实时画面节点,配置桌面实时画面连接的执行设备信息(设备地址、协议、端口、用户名和密码),将执行设备的远程桌面实时画面展示到桌面实时画面区16;
由节点组件区11向工作画布区13拖入所需节点或节点组合,双击节点打开节点属性面板,并点击拾取,选择要拾取的UI控件类型(包括:WIN32、UIA、JAB、SAP、IE、Chrome、Firefox等);
在远程桌面实时画面中启动Agent端3(一次即可),Agent端3的RPA拾取器移动到符合UI控件类型的UI控件元素上,拾取UI控件元素并发送给设计器后端2,设计器后端2再传递给设计器前端1并展示在属性面板区14(如UI控件元素的名称、标题、ID、句柄、坐标、层级等);
在属性面板区14继续设置节点的动作或处理逻辑,点控件节点的确定或保存按钮,保存节点信息,在节点两端均拖入连接线,分别连接上一节点和下一节点,得到RPA流程机器人;
点击工具栏区12的部署按钮,将RPA流程机器人持久化到设计器后端2,点击注入触发节点,启动运行RPA流程机器人,同时节点的运行状态会在节点底部显示。
其中,
1、将执行设备的远程桌面实时画面展示到桌面实时画面区16;具体包括:
设计器后端2接收设计器前端1配置的执行设备信息(包括:设备地址、协议、端口、用户名和密码),通过远程桌面网关服务与执行设备的服务端连接;
设计器前端1通过WebSocket与设计器后端2的远程桌面网关服务进行通信,以HTML5的方式将远程桌面实时画面展示到设计人员操作页面的桌面实时画面区16中(即浏览器页面的桌面实时画面区16)。
其中,通过远程桌面网关服务与执行设备的服务端连接;包括:
设计器后端2通过远程桌面网关服务选择对应的远程桌面协议和提供远程桌面网关服务的客户端连接;
在执行设备中安装并启动相应的远程桌面服务端服务(一次即可);
通过远程桌面网关服务的客户端连接到远程桌面服务端,向执行设备的服务端传递远程桌面协议、端口、分辨率及是否允许操作等相关参数;
执行设备的服务端连接端口,选择允许操作后,完成与设计器后端2的连接。
2、在节点组件区11中创建节点的具体过程包括:
创建节点工程项目(按标准的Node项目开发方式,创建Node工程项目并初始化),修改项目的package.json文件,包括添加node-rpa标识、节点名称和节点路径;
在节点路径下创建package.json文件中nodes对象的js文件;
在js文件中编写构造函数并实例化对象,注册为可用节点,供flow调用;
在节点上注册一个监听器,接收来自flow中上一个节点的消息,给flow中下一个节点发送消息;
创建节点对应的html,并编写调色板类别、可编辑属性、图标、对话框内容脚本、帮助文本内容脚本,逻辑处理脚本等;
在对应目录下,用npm安装该节点并重启node-rpa服务,该节点出现在节点组件区11。
进一步的,在工作画布区13上拖入注入触发节点和调试节点,编辑测试数据测试新节点功能是否达到预期。
3、本发明还可实现多人同时在线设计RPA流程机器人,并分为多人同时在线设计RPA流程机器人中的不同RPA流程和多人同时在线设计RPA流程机器人中的同一RPA流程;包括:
管理员分配RPA设计器使用权限(管理员通过主动添加用户并分配设计器使用权限,或用户主动注册,经管理员审核后再分配RPA设计器使用权限);
各用户分别登录RPA设计器,在RPA中心,点击流程新增;
设计器后端2和设计器前端1为多个用户对应创建多个相互独立的RPA设计器实例(RPA设计器实例之间互不干扰,上下文数据也互相隔离),各用户分别使用RPA设计器设计编排RPA流程机器人中自己所属的RPA流程;
或设计器后端2和设计器前端1创建一个RPA设计器实例并分配给多个用户(即:多个用户共享一个RPA设计器实例对象和实例的上下文),按逻辑功能单元将该RPA流程拆分成几个子流程,各用户设计编排一个子流程,最后按主流程串联起各个子流程,实现多个用户同时在线分工设计编排同一RPA流程。
如图3所示,为RPA设计器服务调用工作示意图,各模块功能分别为:
RPA设计器前端服务(节点、流等的可视化布局、拖拽、设计、编排等);
RPA设计器后端服务(节点、流等的逻辑处理(增、删、改、持久化等));
RPA设计器自定义代码服务(处理接入自定义代码节点的逻辑和实现等);
RPA设计器运行部署服务(存储和分发RPA流程文件给RPA执行器);
RPA设计器执行器服务(负责执行RPA设计器设计的流程)
如图4所示,为RPA设计器部署扩展架构示意图,各模块功能分别为:
RPA设计器(节点、流等的设计和逻辑处理(增、删、改、持久化等));
RPA设计器主节点(实现节点路由、负载、调度等);
RPA设计器工作节点(RPA设计器工作实例节点);
RPA设计器部署运行的Docker容器(实现快速迁移、扩展、故障恢复等);
实施例:
场景描述:设计一个RPA流程机器人,分别实现在Windows和Linux系统上自动打开浏览器,自动输入www.baidu.com,自动在输入框输入关键字“RPA”,自动点击“百度一下”搜索按钮。
本场景以谷歌浏览器,Windows10和Ubuntu20.04系统为验证环境。
前置条件:Windows10和Ubuntu20.04系统的谷歌浏览器已安装RPA控件和Agent或RPA拾取器,已设置和开启了系统的远程桌面服务,已部署了RPA执行器。
主要步骤:
1、在Ubuntu20.04(Windows10同理)系统上用谷歌浏览器打开RPA设计器的网址,输入用户名和密码登陆;
2、进入RPA中心,点击流程管理的新增流程;
3、输入流程的执行设备,流程名称、唯一标识、类型等后保存;
4、点击设计进入RPA设计器页面,在节点组件区11的浏览器模块下选择打开网址节点;
5、在节点组件区11拖动打开网址节点到工作画布区13;
6、在工作画布区13双击打开网址节点,属性面板区14弹出该节点属性配置页面,设置节点属性值(节点名称、执行设备的地址及用户和密码,需打开的浏览器类型,要打开的网址,浏览器的分辨率,停留时间等),设置好后点完成。
7、在节点组件区11拖入一个输入值节点到工作画布区13,双击输入值节点,属性面板区14弹出该节点的属性配置页面,输入节点名称,是否是密码,停留时间等;
8、同时点击选择拾取方式(UIA、XPATH、JAB、SAP等),本处选UIA或XPATH;
9、自动连接并进入到执行设备的远程桌面(以Windows10为例,Uubunt20.04同理),以远程桌面实时画面的方式动态显示,弹出RPA拾取器,选中“百度输入框”拾取,XPATH值为//*[@id="kw"],拾取到值后点击发送,则通过Agent端3回传展现在输入值节点属性配置页面中的目标元素框内,并在输入值节点的属性配置页面中的“输入值”位置输入关键字“RPA”,点完成即可;
10、在节点组件区11拖入工作画布区13一个鼠标动作节点,并配置相关属性,拾取检索按钮并自动回传展示对应UI控件目标元素值//*[@id="su"],设置鼠标动作为单击,停留为1秒,点完成即可;
11、用线条拖拽依次连接打开网址节点,输入值节点,鼠标动作节点;
12、在工作画布区13点击触发打开网址节点的执行触点,同时打开桌面实时画面区16,可以看到谷歌浏览器自动启动,自动打开百度网址,自动在百度的检索输入框中输入“RPA”,自动点击“百度一下”按钮后出现检索结果。
其中,RPA拾取器和RPA执行器不是本次发明所申请专利,他们分别为本实例中配套支持软件或方法。
本发明的优点:
本发明基于B/S架构通过将RPA设计器部署运行在Docker容器中,用户计算机等设备上无需安装RPA设计器软件,直接在浏览器上就可以设计、开发、编排RPA流程机器人,不需要为不同平台、不同终端适配开发不同的组件模块、页面以及不同平台底层的适配,实现了一套方法及一个系统支持多种平台体系,解决了不同设备下载安装过程中的通用性和兼容性的问题,使RPA设计器的使用不受操作系统平台体系的限制,实现了RPA设计器跨全平台的应用,填补了RPA设计器在跨全平台领域的空白。
本发明解决了RPA设计器扩展性和灵活性的问题,不同终端下(计算机、平板、手机等)可以使用同一RPA设计器,同时也可以按要求自定义设计和增加扩展RPA设计器模块和组件,支持在Docker容器中部署和运行。
本发明将RPA设计器部署运行在Docker容器中,还便于RPA设计器的快速迁移、快速部署、快速分发、快速故障切换。
本发明的系统及实现方法提升了整体的运行效率,降低了研发成本,一套实现方法,一套RPA设计器系统,可以在不同的系统平台和终端上使用,不用为不同的平台系统做不同的适配,可以实现多人同时在线协助使用。
本发明的系统及实现方法解决了弹性伸缩的问题,通过部署运行在Docker容器的方式实现了自身实例的水平扩展,提高了RPA设计器的吞吐量和并发能力。
本发明通过浏览器访问服务地址(域名或IP地址),RPA设计器后端融合远程桌面网关服务,前端通过HTML5,实现与不同系统平台的实时交互。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种B/S架构跨平台跨多端RPA设计器系统,其特征在于,包括:依次通信连接的设计器前端、设计器后端和Agent端,所述设计器前端和所述设计器后端均以Docker容器的形式部署在服务器端,所述Agent端运行在执行设备中;
所述设计器前端包括节点组件区、工作画布区、桌面实时画面区,用于:
设计人员将所述节点组件区的节点和组件拖拽至工作画布区,对RPA流程机器人的节点、组件、逻辑、动作进行设计和编排;
连接所述执行设备的远程桌面,将远程桌面实时画面展示到设计人员操作页面的对应区域;
所述设计器后端用于:
对所述RPA流程机器人设计、编排过程提供技术支撑,包括服务调用、数据计算、逻辑处理、节点调度、数据存储,接收所述Agent端发送的UI控件元素并发送所述设计器前端;
所述Agent端用于:
接收RPA拾取器拾取到的UI控件元素并发送所述设计器后端。
2.根据权利要求1所述的B/S架构跨平台跨多端RPA设计器系统,其特征在于:所述设计器前端还包括工具栏区、属性面板区、调试及日志区;
所述工具栏区,用于:
提供公用函数和工具;
设置部署按钮,通过部署按钮将设计、编排后的RPA流程机器人持久化到所述设计器后端进行数据存储;
所述属性面板区,用于:
设置所述节点名称、属性、动作、变量和处理逻辑信息;
设置所述节点需拾取的UI控件类型;
展示所述Agent端发送来的UI控件元素;
所述调试及日志区,用于:
编辑测试数据,测试节点的功能,对节点错误、异常等信息进行展示、跟踪和记录。
3.根据权利要求1所述的B/S架构跨平台跨多端RPA设计器系统,其特征在于:所述设计器前端采用JavaScript模板引擎Mustache开发,所述设计器后端采用NodeJS的Express框架开发,所述Agent端采用Kotlin和Python开发。
4.根据权利要求1所述的B/S架构跨平台跨多端RPA设计器系统,其特征在于:所述设计器后端与所述Agent端通过HTTP/HTTPS或WebSocket或MQTT协议进行通讯和数据传输。
5.根据权利要求1所述的B/S架构跨平台跨多端RPA设计器系统,其特征在于:所述设计器前端和所述设计器后端均采用Grunt打包编译后移植在所述Docker容器中,包结构包括:设计器前端的包@node-rpa/editor-front、设计器后端的包@node-rpa/editor-api,运行时的包@node-rpa/runtime,公用函数和工具的包node-rpa/util,基础功能、内置逻辑、通用节点的包@node-rpa/nodes,用于节点管理、安装、依赖、注册、加载的包@node-rpa/registry。
6.一种B/S架构跨平台跨多端RPA设计器的实现方法,应用如权利要求1~5任一项所述的B/S架构跨平台跨多端RPA设计器系统,其特征在于,包括:
由节点组件区向工作画布区拖入注入触发节点和桌面实时画面节点;
点击所述桌面实时画面节点,配置桌面实时画面连接的执行设备信息,将所述执行设备的远程桌面实时画面展示到所述桌面实时画面区;
由所述节点组件区向所述工作画布区拖入所需节点或节点组合,双击所述节点打开节点属性面板,并点击拾取,选择要拾取的UI控件类型;
在所述远程桌面实时画面中启动所述Agent端,所述Agent端的RPA拾取器移动到符合所述UI控件类型的UI控件元素上,拾取所述UI控件元素并发送给所述设计器后端,所述设计器后端再传递给所述设计器前端并展示在所述属性面板区;
在所述属性面板区继续设置所述节点的动作或处理逻辑,保存所述节点信息,在所述节点两端均拖入连接线,分别连接上一节点和下一节点,得到RPA流程机器人;
点击工具栏区的部署按钮,将所述RPA流程机器人持久化到所述设计器后端,点击所述注入触发节点,启动运行所述RPA流程机器人。
7.根据权利要求6所述的B/S架构跨平台跨多端RPA设计器实现方法,其特征在于:配置桌面实时画面连接的执行设备信息,将所述执行设备的远程桌面实时画面展示到所述桌面实时画面区;包括:
设计器后端接收所述设计器前端配置的执行设备信息,通过远程桌面网关服务与所述执行设备的服务端连接;
所述设计器前端通过WebSocket与所述设计器后端的远程桌面网关服务进行通信,以HTML5的方式将远程桌面实时画面展示到设计人员操作页面的所述桌面实时画面区中。
8.根据权利要求7所述的B/S架构跨平台跨多端RPA设计器的实现方法,其特征在于:所述通过远程桌面网关服务与所述执行设备的服务端连接;包括:
所述设计器后端通过远程桌面网关服务选择对应的远程桌面协议和提供远程桌面网关服务的客户端连接;
在所述执行设备中安装并启动相应的远程桌面服务端服务;
通过远程桌面网关服务的客户端连接到远程桌面服务端,向执行设备的服务端传递远程桌面协议、端口、分辨率及是否允许操作;
所述执行设备的服务端连接所述端口,选择允许操作后,完成与所述设计器后端的连接。
9.根据权利要求6所述的B/S架构跨平台跨多端RPA设计器的实现方法,其特征在于:所述节点组件区中节点的创建过程包括:
创建节点工程项目,修改项目的package.json文件,包括添加node-rpa标识、节点名称和节点路径;
在所述节点路径下创建所述package.json文件中节点对象的js文件;
在js文件中编写构造函数并实例化对象,注册为可用节点;
在所述节点上注册一个监听器并创建所述节点的html;
安装该节点并重启node-rpa服务,该节点出现在所述节点组件区。
10.根据权利要求6所述的B/S架构跨平台跨多端RPA设计器的实现方法,其特征在于:还可实现多人同时在线设计RPA流程机器人,并分为多人同时在线设计RPA流程机器人中的不同RPA流程和多人同时在线设计RPA流程机器人中的同一RPA流程;包括:
管理员分配RPA设计器使用权限;
各用户分别登录RPA设计器,在所述RPA中心,点击流程新增;
设计器后端和设计器前端为多个用户对应创建多个相互独立的RPA设计器实例,各用户分别使用RPA设计器设计编排RPA流程机器人中自己所属的RPA流程;
或设计器后端和设计器前端创建一个RPA设计器实例并分配给多个用户,按逻辑功能单元将该RPA流程拆分成几个子流程,各用户设计编排一个所述子流程,最后按主流程串联起各个所述子流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211053152.9A CN115455329A (zh) | 2022-08-29 | 2022-08-29 | 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211053152.9A CN115455329A (zh) | 2022-08-29 | 2022-08-29 | 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455329A true CN115455329A (zh) | 2022-12-09 |
Family
ID=84300080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211053152.9A Pending CN115455329A (zh) | 2022-08-29 | 2022-08-29 | 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455329A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048517A (zh) * | 2023-03-31 | 2023-05-02 | 杭州城市大数据运营有限公司 | 基于b/s架构应用系统的api接口生成方法、系统和装置 |
CN116527645A (zh) * | 2023-07-05 | 2023-08-01 | 杭州实在智能科技有限公司 | 物联网终端集成rpa流程控制的方法及系统 |
CN117034330A (zh) * | 2023-10-10 | 2023-11-10 | 广州市溢信科技股份有限公司 | 基于macOS的安全防护方法、设备及存储介质 |
-
2022
- 2022-08-29 CN CN202211053152.9A patent/CN115455329A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048517A (zh) * | 2023-03-31 | 2023-05-02 | 杭州城市大数据运营有限公司 | 基于b/s架构应用系统的api接口生成方法、系统和装置 |
CN116527645A (zh) * | 2023-07-05 | 2023-08-01 | 杭州实在智能科技有限公司 | 物联网终端集成rpa流程控制的方法及系统 |
CN116527645B (zh) * | 2023-07-05 | 2023-10-13 | 杭州实在智能科技有限公司 | 物联网终端集成rpa流程控制的方法及系统 |
CN117034330A (zh) * | 2023-10-10 | 2023-11-10 | 广州市溢信科技股份有限公司 | 基于macOS的安全防护方法、设备及存储介质 |
CN117034330B (zh) * | 2023-10-10 | 2024-01-30 | 广州市溢信科技股份有限公司 | 基于macOS的安全防护方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115455329A (zh) | 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 | |
US20210034336A1 (en) | Executing a process-based software application in a first computing environment and a second computing environment | |
CN111126781A (zh) | Rpa业务流程的创建方法及系统 | |
US7444627B2 (en) | System and method for creating a performance tool and a performance tool yield | |
US20030120711A1 (en) | Drag-and drop dynamic distributed object model | |
US20080016499A1 (en) | Extensible execution language | |
CN110362490B (zh) | 融合iOS与Android移动应用的自动化测试方法及系统 | |
US11941419B2 (en) | Systems and methods for robotic process automation of mobile platforms | |
CN103605527A (zh) | 实现云计算应用间界面集成和统一样式展现的系统及方法 | |
CN111752843A (zh) | 用于确定影响面的方法、装置、电子设备及可读存储介质 | |
US20230236712A1 (en) | Browser-Based Robotic Process Automation (RPA) Robot Design Interface | |
US11343305B2 (en) | Systems and methods of automating a file download activity | |
CN113168168A (zh) | 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化 | |
CN111159301A (zh) | 一种基于智能合约的数据创建方法、装置、设备及存储介质 | |
CN101976196B (zh) | 一种面向“服务质量”的代码自动生成方法 | |
CN104317602A (zh) | 一种主机代码文件的开发方法及装置 | |
Choudhary et al. | Robotic process automation | |
US11736556B1 (en) | Systems and methods for using a browser to carry out robotic process automation (RPA) | |
CN112214236A (zh) | 一种软件快速开发平台应用架构搭建管理系统的方法 | |
CN115951970A (zh) | 一种异构多仿真软件集成开发环境 | |
CN114265595B (zh) | 一种基于智能合约的云原生应用开发与部署系统和方法 | |
Sobolewski et al. | Unified mogramming with var-oriented modeling and exertion-oriented programming languages | |
Davi | Design and development of an enterprise digital distribution platform for mobile applications | |
Khan et al. | Developing Multi-Platform Apps with Visual Studio Code: Get up and running with VS Code by building multi-platform, cloud-native, and microservices-based apps | |
Dantas et al. | Towards aspect-oriented programming for context-aware systems: A comparative study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |