潘 涛 王志东 解海东
(1.神华集团有限责任公司,北京市东城区,100011;2.煤炭科学研究总院,北京市朝阳区,100013)
目前,我国煤炭企业在信息化建设方面已经取得了较大的进步,从之前的仅在财务管理和销售管理等局部环节应用信息化技术,到现在的面向不同业务或管理需要建立不同的管理信息化系统,包括在生产过程控制方面建设了工作面生产监测、瓦斯监测、矿压监测以及视频监控等信息系统,在经营管理方面建立了许多面向不同业务的管理信息化系统,如设备管理系统、物资供应管理系统、产运销一体化系统以及人力资源系统等等。但是由于大部分煤炭企业缺乏信息化建设的整体规划,没有统一的信息系统建设标准,各业务系统各自为政,造成系统建设相对分散,系统之间数据信息无法共享,形成众多的 “信息孤岛”。这些 “信息孤岛”多是基于不同的操作系统平台和数据库技术构建,如何利用现有的成熟信息化技术解决 “信息孤岛”之间的数据交换与共享,提高煤炭企业信息化整体的运营效率就成了一个亟需解决的问题。
ETL过程就是数据流动的过程,数据从不同的数据源流向目标数据。整个过程可拆分为抽取、转换和装载3个步骤。
基于煤炭生产现场的现实需求,生产现场的安全数据需要在最短的时间内从安全专用数据库经过ETL过程存储到目标数据,下面介绍两种ETL 过程快速自动执行实现方法。
通过数据库触发器实现自动执行ETL 过程,当数据库表中数据发生变化时,自动触发执行相应的ETL过程,实现数据从数据源向目标数据仓库的非人工快速流动。
触发器类似于存储过程和存储函数,当触发事件发生时,由系统自动地隐式调用并执行触发器,而不能由应用程序显式地调用执行。当对指定数据表进行操作时,就会激活对应的ETL过程执行。
Oracle和SQL Server数据库都可以创建触发器。通过CREATE TRIGGER 语句创建一个语句级触发器,该触发器在一个数据操作语句发生时只触发一次。触发器的组成见表1。
表1 触发器的组成
此种方法适合于数据交换平台对数据源采集数据的实时性要求不高,或者数据源数据增量不频繁的情况。
通过灵活的定时机制 (工作流内部定时或作业定时),时间粒度最小可以设为毫秒级,对同步ETL过程周期性的定时触发,达到对最新数据变化的实时同步。
本文采用Java 的定时器实现, 应用java.util.Timer工具类,其具有操作方便和高效的特 点。选 用Timer.schedule (TimerTask task,long delay,long period)函数,其中第一个参数task指要执行操作的方法名称,第二个参数delay要设定延迟的时间,第三个参数period是周期的设定,每隔多长时间执行该操作,它的数量单位是μs。
此种方法适合于数据交换平台对数据源采集数据的实时性要求高、对数据的增量较为频繁以及数据量较大的情况。
为了满足煤炭企业不同业务部门之间的信息共享,构建横向部门之间的数据交换平台架构如图1所示。由于各业务部门信息系统建设以各自业务为中心,没有统一规划和统一标准,造成各业务部门数据资源不能顺畅的流转。为了解决这一问题,在数据转换的时候统一数据格式,即在从不同业务部门提取数据之后,增加应用服务,将数据统一转换为XML 文件格式,并按照数据转换策略处理XML 文件,而后再将转换结果存入目标数据库。
图1 横向数据交换平台架构
对于大型的煤炭企业集团,数据交换涉及部门较多,其子公司也是集团化运作,建立一个简单的数据交换平台是不够的。本文设计三级交换中心,即集团级交换中心、子公司级交换中心和子公司的矿级交换中心,满足煤炭企业集团与各业务部门、煤矿、子公司等业务单元纵向数据的传输与整合需求。
纵向部门之间的数据交换平台架构如图2 所示。图2是一个以煤炭企业集团数据交换平台为根节点的树,下面分别建立了以各业务部门、煤矿、子公司等业务单元节点,子公司建立二级数据交换平台,同样是以数据交换平台根节点的子树。要进行数据交换的两个业务端如果都在二级数据交换平台下,就可以直接通过二级数据交换平台进行交换,减轻了集团总部数据交换平台数据交换压力,提高数据交换效率。
数据交换平台不但满足横向部门间的数据交换需求,同时要保障集团总部与子公司之间的自下而上的纵向的数据交换顺畅,适合大型跨地域和跨行业多级管理的煤炭企业集团。数据交换平台总体框架如图3 所示,数据交换平台由应用服务层、应用支撑层和传输层组成,应用服务层主要包括煤炭企业的信息平台门户网站、经营管理系统以及生产管理系统等各业务应用系统,另外本层为应用系统提供了平台管理、接收管理、发送管理、调度管理、数据管理和数据字典等功能。应用支撑层在SOA 架构下与应用服务层相衔接,具有数据接收服务、数据发送服务、数据抽取服务、数据发布服务、交换调度器、邮件监听器、接入服务和队列监听器等功能模块,负责根据应用系统的需求对数据进行相应的数据处理。传输层支持基于消息、Web Service和HTTP 等多种协议,所有的接口都以Web Service的方式接入。
图2 纵向数据交换平台架构
现有的各业务系统由不同的厂商开发,所采用技术架构和开发平台都是不同的,要想实现现有异构信息系统之间的信息数据共享,数据交换平台选择基于SOA 建立,因为SOA 的核心理念是业务驱动,采用松耦合、灵活的体系架构来满足不断变化的业务需求,并且不需要了解提供者的实现细节。
SOA 面向服务的体系结构将应用程序的不同功能模块视为服务,采用中立方式为这些服务构建接口,实现它们的相互联系。通过SOA 对企业现有资源进行构建,简化业务流程,为企业节约大量的时间和资金。
XML文件格式目前广泛应用在异构数据源的数据转换上,XML 和以XML 为基础的标准 (如Web Service)已经成为在很多企业和应用之间交换信息的机制。
XML是一套定义语义标记的规则,XML 是自描述性语言,具有很好的自解释性,它不仅将文本组织成层次结构,还直接在文本中描述了自身的组织结构。其具有以下特点:
(1)XML 可以从HTML 中分离数据,使用XML 可以在HTML文件之外存储数据;
(2)XML 数据是以纯文本格式存储的,XML提供了一种与软件和硬件无关的数据共享方法;
(3)XML 可以充分利用数据;
(4)XML 具有可扩展性;
(5)XML 可以用于定义新的语言。
图3 数据交换平台总体框架
图4 峰峰集团数据中心总体技术架构
编码统一是企业信息化体系建设中的基础性工作,信息编码的一致性、完整性、易用性将直接影响信息系统的信息交互与 数据共享能力。本文通过建立核心元数据实现煤炭企业各业务系统之间信息编码的统一。元数据是关于数据的数据,是有关数据源定义、目标定义和转换规则等相关的关键数据。
核心元数据的构建要抓住重大且公共为先,对煤炭企业全集团的公共数据编码进行统一编码时,在编制过程中应着重解决业务影响范围大和重要性强的数据编码,如仓储物资编码、财务编码以及客户编码等。
本文所设计的基于自主式ETL 的统一数据交换平台已经在冀中能源峰峰集团有限公司数据中心中得以应用,数据中心总体技术架构如图4所示。
系统总体技术架构包括数据源、企业数据通道、ODS、DW、OLAP、前端展示和ETL,具有高度先进性和可扩展性,能够满足业务需求的不断变化和不断增加的需求。
[1] 刘纪敏,王晓宁,张承明.基于.net的企业信息集成的设计与应用 [J].煤炭科学技术,2006 (10)
[2] 刘开南,董立红 .矿业安全数据源质量评价研究[J].中国煤炭,2007 (8)
[3] 杨毅,孙超.基于数据仓库的煤炭运销决策支持系统研究 [J].中国煤炭,2009 (2)
[4] 韩晓冰,田丰 .数字化矿山中异构数据集成研究[J].煤炭科学技术,2009 (3)
[5] 赵洪建 .煤炭企业数据中心框架研究与应用探索[J].中国煤炭,2012 (7)
[6] 王振宇.煤炭企业智能综合决策中心系统架构研究[J].煤炭经济研究,2010 (2)
[7] 刘福国.基于数据挖掘的钢球磨煤机运行特性建模和优化 [J].中国煤炭,2010 (5)
[8] 刘儒晨.TD 无线数据采集系统在煤炭行业的应用实践 [J].中国煤炭,2011 (5)
[9] 常弋.现代企业轻量级的ETL实现方案 [J].煤炭技术,2011 (6)
[10] 徐桅,徐奇,陈海东.XML 技术在高速数据访问接口中的应用 [J].工矿自动化,2011 (12)
[11] 程灿广.煤炭企业虚拟化数据中心建设研究与探讨[J].煤炭经济研究,2012 (5)