配电网智能工作票系统的设计与应用
2020-12-29陈槾露
陈槾露 丁 鹏
(广东电网有限责任公司茂名供电局,广东茂名525000)
0 引言
工作票是配电网日常运维作业过程中保证人身安全的重要组织措施之一。配电网运维作业实施前,配网运维人员应通过填写工作票,明确工作时间、工作地点、工作班成员、工作任务、工作地段、停电线路以及工作要求的安全措施,作为现场作业风险管控的书面依据[1]。由于填报系统操作烦琐、填报过程需跨系统查阅图纸资料以及人员技能水平不足等因素影响,填报一项作业的工作票需耗时超过0.5 h的情况常态存在,工作票填报录入工作耗时费力,且难以确保工作票规范性、准确性[2]。针对此种情况,为进一步优化配网工作票填报工作,亟需开发配电网智能工作票录入系统,智能调用配网单线图图模[3],实现快速生成工作票内容、自动填报生产系统[4],协助配网运维人员高效、便捷地完成工作票系统录入工作,保障工作票规范、准确。
1 系统设计
根据配电网工作票智能成票业务需求的特点,基于庞大的业务量、自动执行的效率和精度等要求,系统采用了机器人技术搭建,由机器人软件平台、机器人通信服务管理、高性能机器人客户端、流程化数据预处理等部分组成。机器人软件平台,实现Web浏览器接入、外部系统交互、业务逻辑处理等配网智能工作票服务的统一管理和控制。高性能机器人客户端,搭建了人性化人机界面,并辅以简单点选的形式,方便、快捷地完成常规工作任务文字信息的录入。流程化数据预处理,能提高自动录入执行效率,保证系统操作的有效性和准确性。
1.1 分布式架构应用服务
系统应用服务器优化采用分布式框架改造,基于SOA架构设计,支持分布式的部署及扩展,并支持通过IIS或Nginx组件实现接入层的负载均衡,以支撑系统机器人软件平台运行。系统应用服务架构,依逻辑关联可划分为表现层、应用层和数据层,具体如图1所示。
(1)表现层,主要负责与用户和外部系统交互,具体提供系统可操作Web功能、数据交换程序以及数据接口,以满足不同的场景和渠道使用。Web Layer,由asp.net mvc5技术实现;Data Exchange,根据需求实现数据交换程序;Data Interface主要基于http协议,用Web API技术实现。
(2)应用层,主要负责系统逻辑计算的实现,提供服务接口给展现层使用。为了提高数据传输效率,表现层与应用层之间通信基于局域网TCP/IP协议。根据应用服务职责不同,将分两大类,分别为业务应用服务和基础应用服务。业务应用服务实现业务需求的功能服务,基础应用服务实现系统基础公用的功能服务。
(3)数据层,主要负责系统数据存储、同步、缓存和备份管理。系统数据分为结构化数据和非结构化数据。对于结构化数据使用Oracle11以上数据库存储。业务日志数据结构多样化、数据量较大,选用MongoDB的NoSQL技术作为日志存储选型,同时,系统面对高并发的访问,采取了缓存的机制提升性能,选用Redis缓存组件实现数据缓存存储。对于机器人异常的图片等数据,采用基于Windows平台的NTFS文件系统实现文档存储和读写功能。
图1 配电网智能工作票系统应用服务架构
1.2 机器人通信服务管理
系统支持服务器统一管理和控制,服务器通过实时通信服务和机器人交互,实现接入服务和通信服务逻辑上的解耦。通信服务器采用Protobuf3.0协议,逻辑上由连接管理、网关服务、路由中心、日志服务、缓存服务等主要模块组成,如图2所示。
(1)通信日志服务,主要负责业务日志输出,包括链接相关日志、推送链路日志、心跳日志、监控日志等。
(2)通信管理服务,主要负责在控制台对单台机器进行控制与探查,如查看连接数量、在线用户数、关闭服务等。
图2 配电网智能工作票系统通信服务架构
(3)连接管理,主要负责维持与客户端之间的TCP通道,定时检查连接空闲情况,判断是否读写超时,连接断开时发出相应的事件给路由中心去处理。
(4)网关服务,主要用于处理服务器之间的消息交互,为横向扩展使用。
(5)Packet,主要用于协议部分的编解码和包的完整性校验、最大长度校验等。其中,PacketReceiver负责消息的分发,分发是根据Command来实现的。
(6)消息管理,是整个业务的核心,实现了消息的序列化,MessageHandler会根据不同消息独立处理自己所属的业务,主要有心跳响应、握手、快速重连、脚本分发、脚本更新推送、异常推送、机器人版本更新通知等。
(7)路由中心,主要负责路由管理和用户在线管理。
1.3 高性能机器人客户端
系统选用了Selenium自动化驱动管理来处理浏览器交互。Selenium是一个用于Web应用程序的自动化工具,可在浏览器中直接运行,就像真正的用户在操作一样。Selenium支持自动录制动作和自动生成,通过模仿用户操作的Selenium驱动脚本,从终端用户的角度来驱动应用程序。其中,Selenium的核心——browser bot负责执行从自动化脚本接收到的命令。
(1)基于XML和可嵌入的机器人脚本语言。系统在XML语言基础上,增加可扩展的嵌入语言脚本,来丰富机器人脚本语言,支持函数级别的调用,支持Class语法实现脚本引用,从而提高脚本的可复用功能。
(2)客户端多进程管理。机器人客户端通过共享内存和消息传递的方式实现多进度同步和通信管理,从而实现使用多进程管理不同的任务自动化执行流程,各个任务执行期间不会互相干扰,提高了程序的稳定性。
(3)异常处理。机器人如果出现了异常中断,系统会运转自身设计的异常管理和中断处理流程,自动干预并记录错误日志。
1.4 流程化数据预处理
系统支持用户根据业务需求通过绘制流程图的方式自定义数据处理流程,从业务层面过滤和清洗数据,包括剔除重复导入数据、不合规数据、业务互斥等,从而提高机器人的执行效率,避免不必要的执行行为,保证数据的有效性和准确性。同时,辅以大数据机器学习算法,设计出前置数据筛选规则,提升受理成功率。
2 系统应用
目前,配电网智能工作票系统已应用于某地区供电局日常维护业务,应用的具体情况如下:
2.1 人性化的输入模式
系统从用户使用角度出发设计,界面友好,操作简便,易学易用,仅通过图形点选,自动生成工作票和所需操作票,能协助配网运维人员快速、高效、便捷地完成填报工作,有效解决系统工作票填报操作烦琐问题,节省填票时间,提高工作效率,降低出错概率。
2.2 智能化的数据交互
系统与配网单线图图模系统建立智能化数据对接,调用工作票检修工作涉及线路的图模数据,通过图模拓扑分析,支撑以“点图成票”的形式自动获取停电线路段所涉及的设备、快速录入接地线位置及相关设备操作;同样,系统能与生产管理系统建立智能化数据对接,实现生成工作票的自动转录。
3 结语
配电网智能工作票系统采用机器人技术,搭建基于Protobuf3.0的机器人软件平台,应用Selenium自动化驱动管理,实现了快速生成工作票内容、自动填报生产系统,有效解决了工作票填报录入业务问题。系统所采用的技术,具有较强的可伸缩性、可扩展性,开发了以浏览器扩展程序形式的机器人客户端,安装便捷,即插即用。同时,系统仅通过简单的图形点选操作,即可依照拓扑关系进行分析,自动生成工作票和所需操作票,简化了系统工作票填报操作,能协助配网运维人员快速、高效、便捷地完成填报,提高工作效率,降低出错概率,确保了工作票的规范、准确,进一步提升了配电网维护业务安全水平。