彭 烨 李晓如 韩勇华
(深圳市深水龙岗水务集团有限公司,深圳 518030)
数据资产管理近年来已成为政府和企业领导层特别关注的领域。一个拥有大量数据的企业,要发挥其数据的价值必须整合和加工现有或新建的各种信息系统中的数据,实现企业数据资产的集中管控。发展智慧水务,挖掘沉淀价值,是传统水务企业发展的新机遇。本文以深水龙岗水务集团数据整合与共享建设为案例,提出了一套信息存储及命名规则,完成对现有业务数据的综合整合,并研发了两套数据接口标准,满足企业内外部数据对接的需求,为水务企业的智慧化生产、智慧化管理提供数据支撑。
系统研究主要分为数据抽取与筛选、数据存储及数据服务三部分,总体技术架构如图1所示。
图1 数据架构示意图
首先梳理水务企业存量信息化系统现状,全面分析企业生产经营过程中所需的人、财、物等信息资源,然后建立一套信息存储及命名规则,将系统抽取数据按照制定的规则存放至目标数据库,最后建立两套数据接口标准,即Web API和消息队列接口,与其它系统进行数据交互、共享和数据分析利用。
系统各项应用和服务都部署在超融合服务器上,借助虚拟化、分布式存储等技术可以充分发挥服务器所拥有的资源,并且提供应用敏捷上线和资源按需扩展的能力。
数据抽取是指从数据源系统抽取目的数据库需要的数据,根据业务应用系统的不同,采用的数据抽取方式也不同。龙岗水务集团生产在线监测系统采用的是GE的IFIX软件,此软件配套有IGS驱动软件,通过OPC协议可快速完成数据的采集与传输。生产管理信息化系统、智慧巡检系统、智能水表系统、客户服务信息系统等业务应用系统数据可采用ETL[1]工具完成数据的抽取。
数据抽取可分为全量抽取和增量抽取。全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成ETL工具可以识别的格式。增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL使用过程中,增量抽取较全量抽取应用更广。如何捕获变化的数据是增量抽取的关键。目前增量数据抽取常用的捕获变化数据方法有:触发器、时间戳、全表比对、日志对比。本系统同时采用了全量抽取与增量抽取两种方式,即数据整合第一次采用全量抽取,后期采用增量抽取方式。
从数据源系统中抽取的数据不一定完全满足目的数据库的要求,例如数据格式不一致、数据输入错误、数据不完整等等,因此有必要对抽取的数据进行转换和加工,将数据转换成符合需求的数据格式。数据的转换可以在ETL引擎中进行,也可以在数据抽取过程中利用关系数据库的特性同时进行。相比在ETL引擎中进行数据转换和加工,直接用SQL语句中进行转换和加工更加简单,性能更高,对于SQL语句无法处理的可以交由ETL引擎处理。系统根据实际需求,建立了一套符合企业自身需求的信息存储及命名规则,如表1所示。
表1 信息存储及命名规则
数据装载是将转换后的数据装载到目的数据库中。装载数据的最佳方法取决于所执行操作的类型以及需要装入多少数据。当目的数据库是关系型数据库时,可以采用两种装载方式:直接SQL语句进行insert、updata、delete操作;采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载工具或api。
目的数据库根据存储数据需求采用传统关系型数据库(SQL)和非关系型库(NOSQL)结合的方式进行数据层架构。其中非关系型数据库主要适用于性能要求非常高、数据存储规模非常大的生产数据存储。关系型数据库主要适用于业务分析数据、配置数据和应用系统数据存储。由于企业生产在线监测数据量大,并且数据的实时性要求比较高,对于这块的数据优先存储至时序数据库(influxDB)中,存储1年,超过1年后,数据转存到非关系型库中永久存储。
系统为第三方服务定义统一的数据访问接口,可与第三方系统进行数据交换和控制响应。根据对接数据的不同,开发了2种数据接口,具体说明如下:
(1)Web API接口
Web API接口[2]主要用于对接各业务应用系统的业务数据、例如生产、管网、客服与管控主题KPI数据等。采用Web API接口主要是从安全性考虑,当Web API收到接口调用请求时需先检查传递的签名是否合法,验证后才允许调用相关接口。
(2)消息队列
消息队列采用MQTT协议[3],主要用于对接各水厂生产在线监测数据,此类数据为实时数据,对于数据的实时性要求比较高。MQTT协议实现方式如图2所示。
图2 MQTT协议实现方式
实现MQTT协议需要客户端和服务器端。MQTT协议中有3中身份,即发布者、代理和订阅者。其中消息的发布者和订阅者都是客户端,消息代理是服务器(例如EMQ),消息发布者可以同时是订阅者。
目前该系统已在深水龙岗水务集团试运行6个月,就运行情况来看,效果良好。系统在线监测数据采用订阅主题的方式,向第三方推送消息。
图3 数据订阅主题
系统的应用已成功完成了目前企业存量信息化数据的集中存储,并基于数据模型分析,实现了企业生产、管网、客服、管控等各类业务KPI指标的制定,为企业的业务发展提供了高质量数据决策支持,同时畅通数据共享机制,提升了企业跨部门、跨业务协同能力。
本文通过开展水务企业存量信息化系统数据的整合与共享关键技术研究及应用,一方面可为后续建立的业务系统提供数据支撑,减少系统建立时不同业务系统数据对接的工作量,另一方面也有助于企业进大数据分析,指导水务企业的生产运营。水务企业数据整合与共享是一项长期且需不断完善的工作,需要我们坚持技术与管理并重,真正去做足、做实、做好这项工作。