基于时序数据库的电力运维系统关键技术研究

(整期优先)网络出版时间:2018-12-22
/ 2

基于时序数据库的电力运维系统关键技术研究

杨恒翔王燕军马军杨大伟高阳

国网新疆电力有限公司信息通信公司新疆乌鲁木齐830000

摘要:随着“大物移云”,即大数据、物联网、移动互联网、云计算的蓬勃发展,新技术使电力系统在数据量和应用模式上发生了巨大转变,传统的电力运维系统已无法满足信息化电力系统的需求,存在电网企业难以实时监控运维作业过程,无法掌握运维进度、运维管理存在检修安装人员数量不足和检修工程量过大的问题。这些问题不仅会给安全运行带来极大的隐患,而且会造成不良的社会和经济影响。因此,从“大物移云”发展趋势出发,构建新的数据密集型电力运维系统是非常必要和迫切的。

关键词:时序数据库;电力运维系统;关键技术

1电力系统运维管理

电力系统运维管理包括对电力设备软件系统、硬件设备的运维管理,对电力设施及设备台账、软硬件版本、参数/定值信息进行设置,同时包含对客户托管设备的运行状态监测,实现多种能源接入终端基础信息的标准化、一体化,为系统各类应用提供统一的基础数据。

2系统架构与实现

文中系统主要包括四个子系统:系统界面子系统、应用支撑平台、数据服务子系统、平台服务子系统,分别实现在线运行的配电设备、用户侧用电设备以及其他类型能源设施、设备运行状态监控、维护以及检修管理等功能。

其中,系统界面子系统包括:Web瘦客户端、现场作业移动App客户端、电力图形化组态工具、WebGIS系统、一次/二次告警事件处理等。应用支撑平台包括:设备全寿命周期状态监测、故障诊断与处理、运维管理、检修管理、运检流程管理、资产管理,数据服务子系统包括:电能量数据建模、业务数据、数据预处理、数据统计、数据评估。平台服务子系统包括:关系数据管理、Key-value数据存储、分布式存储管理、消息管理、分布式文件管理、集群管理、权限管理、安全管理。

系统以分布式构架设计,实时库数据来源为配电终端数据、充电桩数据、微电网数据等高速实时数据,并以RestfulAPI方式提供电量时序数据库和前端Web应用服务访问接口,后端服务器将应用数据模型和业务模型映射到数据中心,采用分布式内存存储、计算用户用电信息,极大提升系统的处理容量、性能及可靠性。

3Node.JS简介

采用Node.JS作为后端服务器开发环境,Node.JS是一个基于ChromeV8引擎的JavaScript运行平台,文献[6]从事件驱动,异步非阻塞I/O等方面阐述了Node.JS快速构建网络服务及相关应用。文献[7]提出了前后端分离开发模式,可根据前后端要求提供相应的访问方式。文献[8]提出了非阻塞特性及异步事件驱动模型在高并发网络服务应用,减少了运行资源,提高系统性能。

4时序数据库(TSDB)

为解决智能电网建设和生产过程中大规模时序数据的快速存储和访问处理难题,以分布式为主要特征的时序数据库系统受到高度关注。将时序数据库与当前主流关系数据库技术特点进行比较,总结了时序数据库拥有超大规模数据处理能力和高比例压缩能力的技术创新性。文献[11]进行了加载测试、查询测试实例验证,证明时序数据库在超大规模数据集、高实时性方面能够满足智能电网大数据应用需求。从构建服务器集群的角度,提出策略驱动技术实现时序数据的灵活存储与处理,进一步验证了时序数据库的高效性。

文章设计电力运维时序数据库着重考虑电力系统庞大的数据总量,借助时序数据库的Key-value数据存储模式实现电能表定时冻结、瞬时冻结、日冻结、整点冻结数据的高速存储与查询,方便对年度、季度、月度的电量进行分布式查询计算。

5电力运维系统存储结构

电力运维信息涉及电力设备的(准)实时运行信息,及其关联设备和所处站所的当前状况,要求数据存储具备高吞吐量、批量更新数据及极高的内存利用率。对于Key-value模式实现电能表数据存储,运维系统存储结构采用日志结构存储(Log-StructuredStorage)。

6Node.JS实现运维系统新增业务功能

6.1RestAPI动词映射

Node.JS建立时序数据库服务有两种方式,分别为RestAPI和Restclient。Restclient是第三方提供的客户端程序,具有开发快速、资源众多等优点,缺点是扩展性不好,因此本文案采用RestAPI方式建立时序数据库服务,消息交互采用轻量级的数据交换JSON格式封装,时序数据库增加(C)、查询(S)、修改(U)及删除(D)操作与RestAPI动词对照关系,Node.JS通过这种映射关系建立时序数据库服务。

6.2新增业务请求流程

新增业务是运维系统所有数据的来源,是系统核心功能之一,当用户发起业务请求后,先对请求进行负载均衡处理,将请求转发至不同的服务器上进行反向代理请求头的处理,处理完的数据会发送给Node.JS实现时序数据新增业务,然后将数据返回Web瘦客户端。

6.3Node.js实现新增数据业务

当Web瘦客户端向后端发送增加数据业务指令后,Node.js将新增的数据存储在电量时序存储结构体data_create中,映射关系请求连接时序数据库,在建立服务连接后,将data_create数据以RestAPI方式新增至时序数据库。

7时序数据存储与查询

网络波动以ICMP和HTTP响应结果指标数据为主,分别存储在不同数序数据库中,每个数据库中根据数据来源、时间等字段适当拆表,同时对响应状态错误的结果数据复制一份入库到错误表,方便查询。由于是对网络波动度量指标数据进行监测,因此,field数据主要是ICMP和HTTP请求的响应时长数据,将采集器名称、监测目标、返回状态等作为tag数据。ICMP响应的指标数据仅有一个rtt时长,HTTP响应的指标数据较为复杂。各列数据的含义为:time为时间戳,wreponse_status表示响应状态,wup表示是否有响应,wresolve_rtt表示DNS解析时间,wtcp_connect表示tcp连接时间,whttp_rtt表示http响应时。Influxdb的查询语法与SQL类似,增加和优化了对一定时间范围内的指标数据进行最大值/最小值/平均数计算。以网络区域间ICMP响应序列查询为例,选取某个区域节点的ICMP响应时长的平均值进行聚合查询,用时间间隔作为聚合依据。以下为查询语句。

8运行结果测试

结果测试包括服务器和服务器集群模式,主要针对Key-value类型的智能电能表数据测试。采用服务器和服务器集群对智能电能表“日冻结”数据进行计算时,服务器集群与计算规模的关系曲线。随着集群数量的增加,计算规模呈上升趋势,但当集群数量较大时,网络瓶颈成为系统性能的主要制约因素。

结论

结合电网企业对设备的管理需求,采用Node.js、JSON、RestAPI框架,建立了基于时序数据库的电力运维系统架构,可扩展性强,更易使用大数据技术进行数据挖掘和二次开发,能够快速、准确地完成对电力设备运维作业的科学、高效优化。

参考文献:

[1]邱桂华,吴树鸿.基于实时PI数据库的电网海量遥测数据查询应用[J].机电信息,2018(24):39-40.

[2]胡鹏飞,雷电.基于IEC61850的时序数据库系统设计[J].电子测量技术,2018,41(11):51-57.

[3]尹晨.时序数据库在风电监控系统中的应用[J].计算机时代,2012(08):34-36.