RPA在电网异常数据告警的探索与应用
2022-06-17赵江河杨莉
赵江河,杨莉
(1. 云南电网有限责任公司电力科学研究院,云南 昆明 650214; 2. 昆明理工大学信息工程与自动化学院,云南 昆明 650504)
0 前言
在电力系统中,存在许多的异常数据。最初需要人工在大量的正常数据中寻找极其个别的异常数据。人工长时间地处理同一件事常常会由于判断疲劳而忽略了个别的异常数据,而电力系统往往会因为这些疏忽而出现严重的故障甚至重大灾难。此外这些数据往往是不断增加的,采用人工的方式不仅会消耗大量的人力物力,而且结果也不理想。
自动化技术是代替人工处理数据的一项伟大的技术,它依靠计算机解决了人工疲劳的问题,节省了大量的人力物力。减少员工从事重复无聊工作的时间,让员工有更多的时间投入到创造性的工作中,从而提升员工的工作幸福感。此外在减少员工工作时间的同时,还能够解决人为误检的问题,从而提高系统的准确性。
1 新型自动化技术RPA
RPA(Robotic Process Automation)是一种新型自动化技术,即机器人流程自动化。RPA主要是解决一些重复的、有规则的、不变的工作,是借用计算机实现的一套自动化处理的任务。它用于解决一些频率高、带有重复性的作业任务。RPA是通过监视用户在图形用户界面(GUI)的操作,并且直接在GUI上自动重复这些操作。
1.1 RPA工作原理研究
自动化技术主要的流程为:数据抓取→数据分析→数据处理。自动化技术重点需要解决的问题就是数据抓取。新型自动化技术采用的是基于桌面级的数据抓取技术,可以对网页上的表格进行抓取,并且不会受限于表格的行列数量。区别于早期的API型数据抓取,不需要与API的提供方核实返回的数据格式以及字段所代表的含义。
如图1所示,是底层自动化与RPA在数据获取方面的区别。其中(a)是底层自动化的数据获取,它需要自己匹配不同的数据结构来进行数据的统一。(b)是RPA的数据获取,由于web页面本身就对不同的数据结构进行了解析,因此RPA只需要获取web页面的信息即可获取所有不同数据结构的数据。
图1 自动化获取数据的两种方式
1.2 RPA应用现状研究
目前国内外的RPA应用现状主要集中在银行审计领域,运用RPA技术优化账表核对业务流程[1]和企业财务报销审计方式[2]等,从而解决银行存款函证现有流程耗时长、易错问题[3],解决财务共享的资金管理问题[4]等。
从RPA的研究现状分析,国内主要在技术结构[5]以及功能优化上开展分析研究,系统分析了如何构建稳定性高、弹性强的RPA机器人[6],并从RPA技术应用的必要性和挑战进行思考,提出解决思路和建议[7]。国外主要集中于如何选择更合适的RPA模型以及对RPA的未来构想,提出了三步法和一个可量化的模型来高效的选取和确定合适的RPA流程[8],针对应用场景分析选择适当模型的影响[9],并进一步提出了对未来RPA技术的设想[10]。
根据国内外的应用研究现状可知,RPA在电网或者异常数据告警方面的研究和应用领域相对较窄,其应用领域大部分局限于财务报表分析领域。本文尝试将RPA技术与电网的异常数据告警相结合,实现RPA在电网领域的应用,来提升系统的准确性并且减少人力物力。
2 基于RPA的电网异常数据告警技术研究
2.1 技术应用可行性分析
RPA技术是对现有的电力系统的扩展,不需要对现有的系统进行修改。采用RPA技术可实现对异常数据进行分析并且实时的对相关的负责人员进行信息告警,并且不用修改现有大数据检测平台的系统,只需要定时去电力系统信息管理平台进行数据抓取并进行数据分析即可,操作简单,扩展性强。
2.2 实现工具对比选型
不同的工具在操作方面可能略微有些出入,但本质都是基于扩展性以及重复性来实现的。UIBot以及UIPath的区别如表1所示。
表1 UIBot和UIPath的区别
当使用的浏览器是多标签的页面时,UIPath即使不在当前标签页面上也可以读取到该标签页的表格数据,而UIBot则需要切换到当前的标签页面上才可以读取到,否则就会出现读取到空数据的情况。但两者都要求被抓取的页面处于打开状态。当网页没有打开的时候,则会获取空数据。
UIBot可以进行相应的代码编写,对于有编程经验的人来说,操作起来更方便,逻辑更加清晰,适合有代码基础的编程人员使用。另外官方文档也有相应的代码以及函数调用样例。UIPath则不能编辑代码,给用户的感觉是非常轻便的,并且用户不需要了解代码方面的知识,更加的便捷,适合更广的人群使用。
UIBot的主流程页采用流程图设计,其对流程化的步骤可观性更强。而UIPath的主流程页采用的是嵌套式的设计,其对一个流程内部的嵌套结构展现的更好。但对于小任务来讲,嵌套格式的流程使用的并不是很多。
通过对比分析,结合电力系统对定制化的要求较高,本文选择UIBot进行应用实现。
3 基于RPA的电网异常数据告警应用场景实现
3.1 实现流程
根据对应用的分析,本实现将RPA与登录、读取网页数据、异常分析、异常数据保存、异常告警进行结合。实现全自动的流程,仅需要人工提供登录密码以及异常判断规则即可。大致流程为:自动登录→爬取页面数据→异常分析→数据保存→告警。其流程图如图2所示。
图2 RPA抓取电网数据并进行操作
该应用主要由自动登录机器人、网页抓取机器人、Excel机器人、异常分析机器人以及E-mail机器人5个机器人。这5个机器人相互协作,共同组成了抓取电网数据进行分析并告警的自动化应用。首先自动登录机器人通过web自动化工具输入账号密码登录电网web页面。随后调动网页抓取机器人来抓取网页上指定区域的信息。随后调用异常分析机器人对抓取的信息进行异常分析,异常的信息将会被Excel机器人保存到Excel中。最后调用E-mail机器人相关负责人进行邮件告警操作,数据流图如图3所示。具体的关键点表述如表2所示。
图3 抓取电网数据分析并告警的数据流图
表2 抓取电网数据分析并告警的自动化应用关键点描述
对以上分析的功能机器人,在UIBot上开发5个流程快,分别是:自动登录、数据抓取、异常数据保存、异常分析、邮件告警。UIBot上实现的系统主页面如图4所示。
图4 UIBot上实现的系统主流程
其中自动登录则是在登录页面直接输入提前录入的管理员用户名和密码,在目标元素文本框中自动输入并且点击登录按钮。相应的命令如图5所示。
图5 自动登录实现
数据抓取则是在登录之后跳转到相应的页面进行数据的抓取,抓取的数据会放入流程图变量input中,以便异常分析流程来调用。相应的命令如图6所示。
图6 数据抓取命令图
异常分析则是使用提前建立起的规则文档进行筛选,并且将有异常的数据进行保存,放入流程图变量input中,方便后续的操作。异常分析命令如图7所示。
图7 异常分析命令图
异常数据保存则是将流程图变量input进行Excel的保存,方便后续对异常数据进行追溯等操作。异常数据保存命令如图8所示。
图8 异常数据保存命令
最后将这些异常的数据进行汇总,发送到负责人的邮箱进行邮箱告警。异常告警命令如图9所示。运行结果如图10所示。
图9 异常告警命令
图10 运行结果
3.2 实现效果
将该应用部署到人工数据审核员的个人电脑上,让其进行24 h不间断地爬取电力系统信息管理平台的数据并且进行分析。对该应用进行为期一个月的测试总结。该应用共收集16个页面的数据,分别对覆冰、电力设备温度等共上百亿条数据进行了132次告警,误检率低至0%。解决了人工处理出现的误检和漏检,同时将人工平均12 h的工作时长降低到了3 h。
从最后的实现效果来看,引入RPA技术可以高效、不间断地爬取以及分析异常的数据,并且对负责人进行自动化的异常告警。同时可以解决因人工检查带来的漏检和误检问题。在减少人力物力的同时,可以有效地提升系统的准确性。
4 结束语
RPA技术有很广泛的应用空间,对于电力系统来说,在不改变系统原有功能的前提下可以对数据进行抓取以及分析,抓取需要的数据并且对异常的数据进行分析。RPA以其扩展性强的优势,可以很容易地扩展到电力系统的各个领域内并且辅助工人进行一些重复性的操作。
将RPA技术与电力系统异常数据告警相结合,实现一系列自动化流程。在减少人力物力的同时,可以有效地提高系统的准确性。此外RPA技术不会因为数据结构的不同而进行二次开发,也有效地减少了开发人员的投入。