引言
几天前,在一次内部活动中,我和我的同事们讨论了在用于实施EDMS的项目上实现流程自动化的主题。 RPA新闻和供应商评论说,我们可以用软件机器人代替API连接器。 也就是说,使用RPA传输大量数据。
怀疑论者认为RPA是“拐杖”,ersatz。 并且,如果情况需要应用程序的完全交互,则RPA将无法应对,您仍然需要API连接器。
我们的销售人员和实施专家将完成每个项目中的数据迁移任务。
迁移的特征是数量大,周期短。 该公司仅准备分配这2-3天的时间。 实施专家会非常仔细地准备工作,并在数分钟内按计划进行工作。 开发人员准备实用程序。
提出了一个逻辑问题:机器人将在什么时候将至少数千条记录从一个数据库拖到另一个数据库?
在上一篇文章(
link )中,我们研究了Automation Anywhere的RPA。 这次,我们将从另一个著名的工作室UiPath RPA测试机器人。 我们将测试工作的速度:将64,000条记录从一个数据库转移到另一个数据库。
为了进行比较,我们将以几种方式执行此操作:
- YP上的低级API连接器;
- 通过内置API的机器人;
- 机器人通过中间的Excel文件进入最终基地的模板;
- 从源卡表格到最终基本表格卡的机器人;
- 卡之间的手。
该结果对于开发人员,管理员和正在寻找在不同软件之间建立交互的方法的每个人“思考”有用,从而避免了深入编程。
此外,我们还将介绍在小型研究中遇到的UiPath RPA的某些功能。
在本文中,我们将降低经济性-这个主题值得单独和详细考虑。 我们将仅指出每种情况的具体情况。
因此,任务是:将联系人列表从源数据库传输到目标数据库。
记录数-64,000个。 每个条目包含名称,姓氏,电子邮件,组织。
源数据库和目标数据库是简单的MS Access数据库,具有用于存储联系人的表和用于显示单个联系人的表单。
每种情况的简要说明
API连接器
期望开发人员具有两个系统的API能力,并可以访问数据库。 在我们的示例中,我们将使用内置的MS Access VBA语言编写连接器。
源和接收方中字段的名称可能不一致-在代码中,我们自己配置连接器从源获取什么数据以及将连接符写到接收方的位置。
该程序在26秒内传输了全部数据。
API机器人
预计该机械手将能够配置当前系统的管理员。 为此,您需要参加RPA开发方面的培训课程,许多供应商都免费提供培训。
不需要深入了解DAO。 为了以“低”级别使用数据库,RPA具有一组特殊命令-数据库活动。 所需的连接设置由UiPath使用向导本身设置。 我们直接从Access查询设计器中选择了SQL查询。
要点是,字段标题在初始和最终数据库中应重合。 在这种情况下,请求中字段的顺序并不重要。
机器人在1分52秒内拖动了整个体积。 尽管比API连接器长,但顺序仍然相当。
通过Excel的机器人
从大多数DBMS中,我们可以将数据导出为某种中间格式-xls,xlsx,xml,html,csv。 UiPath机械手可以通过内置的Activity直接使用此类文件。
希望RPA开发人员熟悉源程序界面,以便将数据上传到中间文件。 您还需要了解数据接收器程序的GUI。 也就是说,训练有素的管理员将处理该任务。
我们将所有联系人列表导出到Excel文件。 从Excel可以按以下方式读取数据:
- 完全放入DataTable类型的变量中(但您需要考虑RAM的数量并知道该类型的数据结构);
- 可以是行(需要更少的内存);
- 但您一次只能使用一个单元格(内存几乎是免费的,而且自动组装更容易,不使用DataTable)。 我们将做最后一个选择。
在最终系统的一侧,机械手打开一个新记录的表格卡,并用Excel中的数据填充它。
在10分24秒内,机器人迁移了64条记录。 也就是说,约173小时将需要完整的转移。 速度下降的原因是每个操作中的GUI引导时间。
卡对卡机器人
期望定制用户可以配置这种传输。 您只需要熟悉RPA开发的简化过程(学习1-2天)即可。 在所有机器人方法中,这是最容易开发的。
机器人在这里充当高级“答题器”:在源卡中查找字段=>获取其值=>在接收者卡中查找字段=>插入值=>单击“保存”。
我们拿了标准卡。 Access完全不需要任何编程即可生成此类表格卡。
运行时间9分02秒,可记录64条记录。 也就是说,大约151小时才能完成一次完整传输。
手动携带
期望系统的普通用户将完成此任务。 所需的能力水平是最低的:仅了解源软件和收件人软件的接口就足够了。 无需其他培训。
我们使用鼠标和Ctrl + A,Ctrl + C,Ctrl + V,Alt + Tab和相同的卡片。
传输10条记录需要5分钟。 也就是说:整个量约为533小时。 而这仅仅是纯手工制作的时间。 一个人应该休息,分心于其他任务,并纠正自己粗心大意的错误。 如果机器人使用GUI代替一个正在操作的人,则该过程将使速度提高数倍。
总体结果总结在下表中。
摘要结果

RPA功能
在此测试中满足我们的几个功能:
- 在64位系统上使用Access时,必须安装32位AccessDatabaseEngine.exe。
- 在“通过Excel漫游的机器人”方案中,收件人卡上“组织”字段上的过程“偶然发现”。 卡中的字段和表本身中的字段属于“带有替换字段”类型。 当以两秒的快门速度限制对该字段的写入操作时,该过程将稳定下来。
- 用于连接数据库的UiPath Studio向导会在设置行中插入多余的引号-必须仔细检查;
- 在带有SQL查询的字段中,文本不应包含回车符,否则UiPath Studio将返回错误。 请求文本应为一行;
- 表单卡片上的表单上有导航按钮时,这非常方便:下一张卡片/上一张/第一张/最后一张。 使用这样的按钮,可以更容易地组装机器人,并且可以使操作更加稳定。 这可以视为开发GUI的一般建议。 例如,默认情况下,以卡形式的Access会提供此类功能;
- 设置机器人时,我们不必按照通常的意义进行编程。 该算法是从块组装而成的,就像图表一样。 在属性窗口中组态块。 低代码/无代码的概念确实在我们的任务中起作用;
- RPA还提供另一种迁移方案-通过远程桌面GUI。 机器人本身在本地启动,并在CV和OCR的帮助下在终端中执行操作。 数据可以直接通过剪贴板传输。
问题仍然是经济可行性。 但是投资回报高度依赖于具体的实施项目和资源的可用性。 在技术方面,我们从机器人的性能和RPA的开发工具的便利性中获得了良好的印象。