安全性
RPA机器人在执行任务过程中,将不可避免的接触到用户的敏感信息(例如登录系统的账号密码等)和业务敏感数据(例如财务报表等),以及在运行过程中记录的运行日志等。
针对这些问题,需要RPA产品能力及开发人员在流程设计过程中通过不同的手段来防范这些安全隐患。
1.针对账号密码等用户敏感信息,不要硬编码在流程文件或配置文件中。使用控制台的资产管理功能,新建加密存储的数据资产。在流程中通过获取资产组件来获取所需的敏感信息。
2.在流程设计开发过程中,将业务敏感数据上传至控制台的文件服务存储,或通过有权限控制的数据库、共享文件夹、FTP等形式进行统一管理,尽量避免在本地存储业务敏感数据。
3.在使用日志组件时,利用日志级别对不同信息进行输出。针对敏感信息在UAT或正式上线前检查是否有直接输出日志的内容并进行删除。针对控制台用户实施最小权限原则,仅对RPA开发/运维人员开放运行记录查看功能。
稳定性
RPA流程因其代替人工操作的特点,影响运行稳定性的因素较多,主要包含以下几个方面:
1.环境问题:因RPA部署在Windows桌面环境中,容易受操作系统版本、基础软件版本(例如Chrome浏览器、Excel等)、桌面分辨率甚至输入法等外围因素影响。因此在RPA开发和部署过程中,需尽量保证开发环境和生产部署环境的统一,降低因环境问题造成的流程不稳定因素。
2.流程健壮性:流程设计的健壮性是影响运行稳定性最重要的因素,以下几点是最常用的手段:
在流程开始执行时初始化环境,例如关闭浏览器和Excel等影响流程执行的进程。
在使用选择器时善用通配符,兼容不同属性值变化对选择器元素定位造成的影响。
合理设置组件前后延时、执行超时和匹配超时时间,降低因系统或页面加载执行速度对运行稳定性造成的影响。
合理利用Try/Catch组件对可能发生未知问题的步骤进行处理,并及时抛出准确的错误信息。
对于批量运行的任务数据,通过Excel或数据库等准确记录流程运行的处理进度,保证流程可以重复执行,且中断后再执行可以接续运行(检查执行进度,只执行未处理部分)。
通过足够的UAT测试对于系统弹窗或错误提示等无法预期的事件进行验证和针对性处理。
流程性能优化
虽然RPA流程执行是以模拟人工操作为基础实现业务流程,但并不意味完全按照人工操作步骤是最佳执行效率的实现形式。
主要可以从RPA操作步骤和组件选择两方面来优化流程执行的性能,提升运行效率。
1.操作步骤优化:
涉及到多系统操作时,尽量在一个系统上完成所有操作或抓取数据后再切换另一个系统,减少因系统切换登录造成的时间损失。
涉及多层级菜单点击切换时,有些过程往往可以通过显式URL跳转形式来快速切换的,减少点击菜单的次数。
在批量数据处理时合理使用Excel或数据库暂存中间结果,当流程异常中断时,再次执行可从中间步骤接续处理,充分利用之前的执行结果,避免从头开始执行。
在复杂Excel计算处理时,对于需计算的单元格可预先做好公式并保存成模板。RPA运行时打开模板填充原始数据,其余的计算部分交给Excel公式自动刷新。
2.合理选择组件:
绝大多数场景下,使用具备批量处理能力的组件都比单一处理的组件效率高。例如使用写入区域组件代替循环写入单元格,使用获取结构化数据组件代替遍历表格DOM结构获取数据。
对于大量复杂的逻辑或数据计算,使用代码处理比操作Excel效率更高。
2.合理选择组件:
绝大多数场景下,使用具备批量处理能力的组件都比单一处理的组件效率高。例如使用写入区域组件代替循环写入单元格,使用获取结构化数据组件代替遍历表格DOM结构获取数据。
对于大量复杂的逻辑或数据计算,使用代码处理比操作Excel效率更高。
多流程协作
在某些场景下,无法通过单一RPA任务完成全部业务操作,或因为流程设计考虑对流程执行步骤进行RPA任务拆分。此时往往需要通过一些机制保证多流程之间的通知机制和数据传递,以实现多流程协作。
最主要的实现形式主要有以下两种:
利用控制台的数据队列功能,将获取数据和后续业务处理从流程上解耦,以生产者-消费者方式对RPA流程进行切分。这类场景适合获取数据简单但后续业务流程执行耗时长的情况,通过一个获取数据机器人配多个业务处理机器人的形式提升整体的流程执行效率。
利用数据库的中间表、FTP监听文件夹或监听邮箱等形式,将RPA任务进行切分,适合无法在单一环境下完成全部任务的场景。通过数据库或文件实现流程间的数据传输和事件触发的监听,实现多流程间的任务协作能力。