基于HAWQ的电力企业数据质量管理应用研究与建设

2020-12-17 12:45杨秋勇
自动化仪表 2020年12期
关键词:校验引擎架构

杨秋勇

(广东电网有限责任公司,广东 广州 510000)

0 引言

在大型电力企业或组织中,存在多地区、多产品、多业务、多系统的环境,在数据信息、报表统计、业务分析和业务元定义上存在诸多数据质量问题。其主要包括数据不一致、不完整、不统一、不真实和不及时等。由此会导致管理者、业务人员和信息使用者的误解,使数据利用出现错误、企业决策出现偏差。同时,低劣数据质量往往造成开发出来的系统与用户预期大相径庭,并且导致运行维护成本过高、工作量过大,系统难以扩展。诸如此类的问题迫切需要加强对于数据本身质量的研究和管理。数据质量管理是研究数据质量问题的标准和指导方案。数据就是资产的理念已被普遍认识,但要从根本上提高对数据质量重要性的认识,并潜化为工作方式和习惯,就必须立足于对数据及其质量本质的解析,从而推动实践,把握进程[1]。

数据作为信息化应用的主体,具有多重属性。其基本质量特性主要包括适用性、准确性、完整性、及时性、有效性这五个方面。要对数据质量进行较好的控制[2],需杜绝数据质量问题的出现,使数据监控工作能够真正达到控制数据质量的目的[3]。

1 传统的数据质量系统

传统的数据质量管理系统实现了校验规则配置、规则执行、数据质量报告等功能,一定程度提高了传统关系型数据库的数据管理水平,能满足百万级别以下的单表数据质量校验需求。

传统数据质量平台功能描述如下。

①规则配置:提供基于单表的数据质量校验脚本配置。

②规则执行:基于数据库映射技术(dblink等),通过数据库存储过程执行校验脚本,并保存校验结果(问题数据总数和被校验记录总数)。

③数据质量报告:基于固定的格式,生成数据质量得分图表,经人工调整补充形成报告。

传统数据质量管理系统采用关系型数据库作为被校验库和校验结果存储库。但受限于关系型数据库的部署架构和处理方式,其无法应对千万级存量数据及指数式增长的大数据的数据质量校验,也无法开展数据质量探查、分析、治理工作。

2 管理应用研究与建设

针对传统数据质量管理系统的问题,本文研究并借鉴了国内外对数据质量结合大数据的解决方案,提出了基于带查询功能的分布式系统基础架构(HADOOP with query,HAWQ)的数据质量管理应用解决方案。利用HAWQ集群,在多台HADOOP服务器上分散存储被校验业务数据和校验出的问题数据。得益于HAWQ的大规模并行处理(massively parallel processing,MPP)架构,可有效提高数据质量系统的校验、探查、分析能力[4]。基于HAWQ的数据质量系统有以下优点。

①基于HADOOP平台,技术成熟、保证平台有良好的可扩展性。

②基于MPP架构,任务并行的分散到多个服务器和节点上计算完成后再汇总,避免产生CPU、I/O瓶颈。

③支持SQL过程化编程,以及SQL语言控制结构,并具有所有PostgreSQL的数据类型(包括用户自定义类型)、函数和操作符[5]。

3 电力企业数据质量管理与创新点

3.1 应用设计

基于HAWQ的电力企业数据质量管理应用,采用J2EE结合Spring Clould框架开发,逻辑上划分为主体应用、规则执行引擎组件、评价执行引擎组件、问题数据导出引擎组件。基于HAWQ的电力企业数据质量管理应用架构如图1所示。

3.1.1 主体应用功能

(1)元数据管理:适配大数据平台元数据,提供数据库元数据、业务对象元数据的管理服务,解析说明表、字段的业务含义,用于生成、配置校验规则[6]。

(2)规则管理:提供规则配置、版本管理、规则参数配置等功能,同时系统针对校验脚本,自动给出HAWQ的语法适配建议。

(3)副本监控:针对待校验库数据副本的数据量、元数据进行监控,可避免因为数据量偏差较大,元数据的基本信息(如库表、字段、数据类型等)出现差异,影响数据质量校验结果,导致校验结果出错。

(4)问题数据下载:配置导出规则、问题数据枚举值映射,提供单位-对象的问题数据下载。

(5)整改指引:业务人员、厂家在解决数据质量问题后,归纳解决方法,形成规范、高效的解决方案,固化到系统中,通过系统共享,促进数据质量问题整改。

(6)操作规范分析:通过制定规范规则,发现由于业务系统未能及时按数据质量考核进行整改,导致业务人员误操作形成数据质量问题的规律。指导业务人员在操作业务系统过程中的动作,避免部分简单的数据质量问题。

(7)报告管理:基于报告模板,结合评价结果,生成质量报告、企业信用报告。

(8)评价管理。

①提供评价灵活配置,可为不同的考核单位配置不同的规则、调整权重,并为每个规则设置目标值、目标值得分。

②豁免功能:细化组织单位颗粒度,将豁免功能细化到县级和供电所层级,解决业务系统数据质量、实用化模块无法实现豁免至县局和供电所层级的问题。在细化豁免颗粒度的同时,可提升豁免功能效率、有效性和准确性。

③系统算分功能:利用在月、周整体评价中拆分出的个性化评价结果,组成新的评价,完成结果汇总和算分统计。

④评价申诉:针对考核中的特殊情况,地市局用户可以向省公司提出豁免申请。系统以时间轴的方式展示每个申诉的始末。同时,统计每个地市局的申诉总量、有效申诉等信息。

(9)对比分析:通过单位得分排名、业务域得分、问题数据分布、指标得分、得分趋势、指标通过率、问题数据,环比跟踪问题数据的处理情况。

3.1.2 规则执行引擎组件

实现多线程规则执行,并通过执行脚本缓存,最大限度提升数据质量校验的效率[7]。

3.1.3 评价执行引擎组件

基于HAWQ集群,对海量的问题数据进行去重、统计,根据指标森林对不同的指标树进行汇总并加以权重,得出最后的总分。

3.1.4 问题数据导出引擎组件

问题数据的导出得益于HAWQ的MPP架构,支持问题数据主键与问题数据关联多线程读取,实现了千万级问题数据的快速、全量读取,并按配置的格式生成EXCEL文件[8]。

3.2 主要创新点

3.2.1 高并发智能化的规则执行引擎

传统数据质量系统的问题是:单线程执行,数据质量校验整体过程效率低[9]。

本文创新点如下。

①任务调度,按优先级管理执行的线程和并发度。

②智能策略缓存,避免规则重复执行。

③基于大数据技术的问题数据多线程写入。

高并发智能化的规则执行引擎如图2所示。

图2 高并发智能化的规则执行引擎示意图

3.2.2 弹性的问题数据存储架构

传统数据质量系统的问题是:问题数据无法快速存储。

本文创新点如下。

①高容错性,数据自动保存多个副本,副本丢失后自动恢复。

②适合批处理,数据分散在多台服务器上,可并行处理数据,加快问题数据的分析和归纳[10]。

③一次写入多次读取,以流式文件访问,数据读取更高效。这种特性很适用于存储问题数据。

④易于水平扩展,存储节点可按需扩展。

⑤性能开销小,通过HADOOP分布式文件系统HADOOP distributed file system,HDFS的接口写入问题数据,可避免数据库事务、回滚日志等性能开销。

弹性的问题数据存储架构如图3所示。

图3 弹性的问题数据存储架构

3.2.3 基于HADOOP技术的问题数据分析架构

传统数据质量系统的问题是:数据分析效率低。

本文创新点如下。

①快速响应:利用数据仓库工具(Hive)作后期数据分析,可以更快地响应需求的变更。

②数据独立存储:每条规则都会生成一个文件,用于存储当次的问题数据。

基于HADOOP技术的问题数据分析架构如图4所示。

图4 基于HADOOP技术的问题数据分析架构

3.2.4 基于HAWQ的准实时评价引擎

传统数据质量系统的问题是:评价计算过程耗时长、豁免速度慢。

本文创新点如下。

①问题数据去重:对评价中的所有问题数据进行分析,按对象整合重复的问题数据,同时标记出问题数据各个字段存在的问题,为后面的问题数据下载和对比分析提供基础数据。

②算分:可自动适配不同的评价指标树,结合规则的豁免和排除,动态计算各个指标的数据。

③对比分析:基于两个评价的执行结果,对比各评价指标的得分和问题数据,得出已整改、未整改、新增问题等维度的数据。

3.2.5 采用多线程切片技术问题数据导出组件

传统数据质量系统的问题是:问题数据导出慢,且无法全量下载。

本文创新点如下。

①一次读取(HAWQ),多处写入(ORACLE/FTP)。

②导出引擎可独立部署,实现高效的横向扩展。

采用多线程切片技术的问题数据导出组件如图5所示。

图5 采用多线程切片技术的问题数据导出组件示意图

4 系统实践

目前基于HAWQ数据质量管理应用已完成开发,并在广东电网公司运行。经实践验证,通过基于HAWQ数据质量管理应用,最高可实现数据质量校验效率比原传统数据质量系统提升17倍左右。服务器配置信息如表1所示。

表1 服务器配置信息

为验证基于HAWQ数据质量管理应用性能的有效性,与传统数据质量平台进行比较,并在总记录数242亿5千万、问题数1千万,执行规则4 180条的试验环境下进行对比。

传统数据质量平台与基于HAWQ数据质量管理应用的性能对比如图6所示。

图6 传统数据质量平台与基于HAWQ数据质量管理应用的性能对比

基于HAWQ数据质量管理应用的性能与传统数据质量系统相比,有显著的提升。其中,对多表关联的数据一致性校验的提升高达40倍。

5 结论

本研究针对企业海量数据的数据质量管理现状和难点,提出了基于HAWQ的电力企业数据质量管理应用解决方案。通过开展高并发智能化的规则执行引擎、弹性的问题数据存储架构、基于HADOOP技术的问题数据分析架构、基于HAWQ的准实时评价引擎、采用多线程切片技术问题数据导出等关键技术研究,初步搭建基于HAWQ的电力企业数据质量管理应用系统。该系统在广东电网有限责任公司进行试点应用,质量校验效率提升明显。

猜你喜欢
校验引擎架构
基于FPGA的RNN硬件加速架构
使用Excel朗读功能校验工作表中的数据
功能架构在电子电气架构开发中的应用和实践
新海珠,新引擎,新活力!
车坛往事4:引擎进化之屡次失败的蒸汽机车
基于云服务的图书馆IT架构
炉温均匀性校验在铸锻企业的应用
蓝谷: “涉蓝”新引擎
电子式互感器校验方式研究
VoLTE时代智能网架构演进研究