电力大数据业务监控可视化平台设计
2022-06-16杨学瑞刘国杰
杨学瑞,刘国杰
(云南电网有限责任公司德宏供电局,云南 德宏 678499)
0 引 言
随着电力企业信息化建设进程的加快,电力业务囊括了营销、生产、计量、调度等多个专业领域,各大业务领域相对独立的同时又有着一定的关联,供电企业业务部门汇总统计数据时,不得不在各大业务域系统提取有效数据信息进行数据汇总分析,增加了业务人员工作量。因此迫切需要在注重技术应用创新的同时,利用目前主流的内存计算、分布式存储、搜索引擎、智能集群等技术,实现电网多领域、多系统资源数据的海量存储、数据访问的大规模并发和实时计算,并汇总集中监控展示各种重要指标,从而满足业务部门无需登录多个业务系统就能实现统计各项指标的需求。
电力大数据业务监控可视化展现就是应用框架体系将营销、生产、计量、调度等各大系统的各项重要指标按照“微服务”和“微应用”的方式进行集中监控,以更细的粒度、更高的工作要求、更强的系统复用性提升业务人员工作效率,减少人工干预统计汇总各项报表,进一步提高电网数据信息化应用的水平。本文提出的电力大数据业务监控可视化应用采用前后端分离的开发模式,以Spring Cloud为框架,构建该系统的微服务架构[1]。采用Vue.js构建该应用PC端,以微服务的形式将服务端切分成若干个独立的服务进行部署,利用Element UI、DATAV和Echarts相关组件对相应数据进行大屏和图表展示[2,3]。电力大数据业务监控可视化平台的亮点就在于利用新应用框架,如Spring Cloud框架体系,对开发框架和运行环境进行适配性改造,实现应用全生命周期管理、服务治理及微服务管理[4]。
1 相关概念
1.1 微服务
微服务是将企业通用服务按业务化分成一个个单体服务,增强可用性,服务易扩展,能够减少开发成本,减少服务发布对整个平台的影响。微服务是一种思想,实现有很多方式,企业由单个系统转向微服务就要考虑很多问题,如技术选型、业务拆分、高可用、服务通信、服务发现和治理、集群容错、配置管理、数据一致性、康威定律、分布式调用跟踪、微服务测试以及调度和部署等。
1.2 Spring Cloud架构
微服务架构中的服务与模块化开发较为相似,但有明确的服务边界,更易于开发和管控,同时也更易于单独部署与扩展。微服务架构必须能够达到借助虚拟化平台,按需创建机器并调整大小,借助基础设施的自动化,从一台机器扩展到多台,拥有业务监控预警、异常熔断等功能。基础框架有Dobbo和Spring Cloud,其中Dubbo是远程过程调用协议(Remote Procedure Call Protocol,RPC)服务治理框架,Spring Cloud时面向云环境的应用程序”开发的口号,为微服务架构提供了更加全面的技术支持,具备服务注册、发现、路由、负载均衡等能力[5,6]。
1.3 Redis框架
平台数据库采用Redis框架。Redis是一个开源使用ANSIC语言编写Key-Value的跨平台非关系型数据库,基于内存运行,性能高效,支持分布式,理论上可以无限扩展。相比于其他类型的数据库,Redis最受开发者青睐的便是强大的高并发读写能力。当面对海量的数据时,开发者可将短期内不会发生变化的数据存入Redis中,从而减轻数据库的压力,提高系统响应速度,增强用户体验[7]。
1.4 Vue.js框架
本平台采用Vue.js框架构建PC端。Vue.js是一套用于构建用户界面的渐进式框架,与其他大型框架不同的是,Vue.js被设计为可以自底向上逐层应用。其核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。此外,与现代化的工具链及各种支持类库结合使用时,Vue.js也完全能够为复杂的单页应用提供驱动。
2 系统架构
2.1 Spring Cloud框架
电力大数据业务监控可视化平台采用Spring Cloud框架进行开发,对开发框架和运行环境进行适配性改造,实现应用全生命周期管理、服务治理及微服务管理。该应用注重技术应用的创新,并利用目前主流的内存计算、分布式存储、搜索引擎、智能集群等技术,实现电网资源数据的海量存储、数据访问的大数据并发和实时计算,从而满足业务部门无需重复登录各个业务系统就实现统计各项指标。
2.2 微服务技术架构
该平台以微服务架构模式构建共享服务,通过微服务架构将监控平台按业务划分为一组组小的服务,每个服务独立运行,如本应用主要分8个微服务,包括抄核收、智能缴费、业扩、客服、计量、营销稽查、生产停电以及同期线损等。微服务采用轻量级的通信机制,每个服务都围绕着具体的业务监控逻辑进行构建,每个微服务之间松耦合,并且能够被独立地部署和运行[8]。
微服务架构中的访问层主要包括服务注册、服务网关和负载均衡,所有前端业务监控应用只能通过服务网关进行服务访问,并且只能访问已注册的服务。对于高并发的微服务采用集群方式部署和注册,通过网关自动实现负载均衡调用。微服务架构提供了统一的微服务管理手段,让微服务应用开发者无需过度关心整个微服务架构体系的细节[9]。灰度发布实现了微服务的局部节点发布能力,可最大程度避免因服务异常导致的整体系统不可用;服务降级和熔断隔离实现了对服务异常情况的预处理及调用隔离,防止因单个微服务异常导致整体微服务异常传递直至雪崩;链路追踪实现了微服务调用链路径及性能的监控,帮助服务更快定位性能问题,解决性能瓶颈;监控告警实现了微服务的健康状态检查和QPS性能监控;配置中心实现了微服务的配置统一管理和更新,减少开发和运维人员因配置带来的各类部署问题;日志中心实现了分布式微服务模式下的统一日志收集、监控和告警功能。电力大数据业务监控可视化平台微服务架构如图1所示。
图1 电力大数据业务监控可视化平台微服务架构
2.3 系统监控大屏UI架构设计
平台设计以微服务架构为核心,将各个业务系统中的重要指标汇总展示在平台中,避免业务人员在汇总统计各项指标时需同时登录各个业务系统,同时有效降低了业务人员的操作难度,提供了工作效率[10]。本平台主要分为8个微服务模块,每个模块的分析指标具体如下。
抄核收模块主要汇总分析营销系统中抄核收相关重要指标,如抄表数据开放率、抄表率、电费自然回收率等。智能缴费模块主要汇总分析智能缴费支撑平台的重要指标,如余额充足、余额预警、待停电用户等。业扩监控模块集中展现业扩工作单完成及时率、业扩报装平均时长、业扩报装各环节时长、工单终止率、超时工单数、临时用电时长、客户暂停时长等。客户服务指标主要根据客服工单进行汇总分析,包括95598投诉量、12398投诉量、重复投诉率、问题升级率、工单质量回退率、工单处理及时率、客户问题处理平均时长等14项。计量监控主要分析计量自动化相关指标和计量运维指标,如终端覆盖率、自动抄表率、周检、首检完成率、计量装置异常率等。营销稽查模块主要汇总分析差错防控系统相关指标,如整改完成率、处置率、供电单位异常走势、业务类别走势等。停电监控模块主要采集生产运监平台重要指标,如停电线路、停电台区、停电用户、敏感用户等,并通过各个指标汇总分析客户服务态势。同期线损主要采集台区线损计算率、线路线损计算率、台区线损异常率、线路线损异常率等指标。
3 结 论
本文采用Spring Cloud、Vue.js等相关开发技术,设计并实现了基于Spring Cloud的电力大数据业务监控平台。通过系统平台建设,建立营销业务大数据监控机制,强化源头治理,通过改存量、控增量,抓基础管理、业务规范、指标提升、监督检查,及时发现业务、档案异常,改事后整改为事前预防,主动服务、主动响应,推动营销数字化转型升级及相应机制的完善,探索建立“主动服务”的现代供电服务体系。实现业务及工单驱动的业务模式,实现异常和业务集中监控、管理,建立营销业务工单池,开展工单分析、派发、跟踪闭环,以工单驱动营销工作开展,实现任务数字驱动、工单数字闭环,有效促进电力营销各项业务的合规高效运行。